commit 0cd0b9d87ff2afede9c25e87b9376c07516fbaff Author: Russ Allbery Date: Mon Aug 15 20:20:31 2011 -0700 Add NEWS entries for the 1.6.0 final release The date will be slightly off from when it will be officially announced, but it should be close enough. Reviewed-on: http://gerrit.openafs.org/5287 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 361cf11db36db2fc94c7e4961061423fb13e4cf8) Change-Id: I9e12ab8f0a749de3de1e9843705a294f913a5165 Reviewed-on: http://gerrit.openafs.org/5289 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1a72ffe01a51fabfa3d3e241181973d1c9cbe6f9 Author: Simon Wilkinson Date: Mon Aug 15 10:25:27 2011 +0100 rpm: Update CellServDB The commit (a5d66d05fa0308d505de8bde59442e29be9d04f8) which updated our in-tree copies of the CellServDB for the 14th August release failed to update the copy that's referenced from the rpm spec file. Update the filename used here so that rpms also get to have an up to date CellServDB Reviewed-on: http://gerrit.openafs.org/5285 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b88c0482f445e11d82804fba08e42944b7253200) Change-Id: I910a3e065576216ffb9d55847f5c2d9bfb174c4c Reviewed-on: http://gerrit.openafs.org/5288 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c7a37b4cf6a0237b940c05edca310a1591f9bab4 Author: Derrick Brashear Date: Sat Aug 13 22:21:02 2011 -0400 make openafs 1.6.0 update version strings for 1.6.0 Change-Id: Icbab545cc4f99356135a829cc995c5eaaa83dd61 Reviewed-on: http://gerrit.openafs.org/5265 Tested-by: BuildBot Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5bf54a3976c155e6f506359b9d00f67603e72289 Author: Derrick Brashear Date: Mon Aug 15 12:17:06 2011 -0400 macos: fix race in afs_root same race on PutVCache in afs_root as we had on other platforms, for instance FreeBSD. use a local variable instead to avoid the race. additionally, make sure we end up with the root flagged VROOT. Reviewed-on: http://gerrit.openafs.org/5278 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit ad6e19331e4f3ec6566dc224f1e1c943a69c62bb) Change-Id: I74d957ac47e10e7a3ddbcd0cadcd6a69deb7df99 Reviewed-on: http://gerrit.openafs.org/5286 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 32239db8ec887a57d76f97096c04289e6c36e731 Author: Jeffrey Altman Date: Mon Aug 15 00:23:57 2011 -0400 Windows: Save Wix config at start if possible Save the current configuration at the start of the install process so the user can be presented with a dialog prior to installation asking whether the existing or saved configuration should be used or whether a new configuration should be created. Reviewed-on: http://gerrit.openafs.org/5281 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 020b415be8fa357cded6eb4c50454aaa5b0722bf) Change-Id: I49abfa6d6e7b929e3880686f7dc7bad4175adcba Reviewed-on: http://gerrit.openafs.org/5284 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f763920f3647fb5cac6d5028bf97bb7fcc511f04 Author: Jeffrey Altman Date: Mon Aug 15 00:37:31 2011 -0400 Windows: add assertions to cm_scache.c Reviewed-on: http://gerrit.openafs.org/5280 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 1a0b99e654831fe28794f8e0cec2ab94f07ec965) Change-Id: I5bcce8d961157ebb85049871bd15404d7a5ed94e Reviewed-on: http://gerrit.openafs.org/5283 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 392ed2ae9883dd1f32284b7a244e8b8eec8debfc Author: Jeffrey Altman Date: Mon Aug 15 00:34:00 2011 -0400 Windows: cm_ShutdownSCache corrections Obtain cm_scache.dirlock, cm_scache.rw and cm_scacheLock in the correct order. Do not release cm_scache.rw when it is not held. Since the cm_scacheLock is being dropped, preserve the value of scp->allNextp prior to dropping the lock. Reviewed-on: http://gerrit.openafs.org/5279 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit c58ae34f72d25434cd59228806ca59a6ff39a903) Change-Id: I65f3c4be5436031cdd99d912b0277b54d4033bf6 Reviewed-on: http://gerrit.openafs.org/5282 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e970f3a577325422460af6e79f57e34b17fe22df Author: Jeffrey Altman Date: Sun Aug 14 21:41:47 2011 -0400 Windows: More interlocked ops for cm_cell flags Reviewed-on: http://gerrit.openafs.org/5274 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 73b91bf0c0a86e55d6879573aeadd99a137ebf3b) Change-Id: I0d79599b22c50523f975d51de4fe2a9eb07c1fdb Reviewed-on: http://gerrit.openafs.org/5276 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 41ae78c2a9b4d04748d80698b0ee9778194e0f2f Author: Jeffrey Altman Date: Sun Aug 14 21:41:19 2011 -0400 Windows: Interlocked ops for cm_user flags Reviewed-on: http://gerrit.openafs.org/5273 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f75214282795b23c433b2512b00d24b3e6166b76) Change-Id: I092a0d74919b1d8ecf62fbb57c5b957f16184a05 Reviewed-on: http://gerrit.openafs.org/5275 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit e1be9ceaff313b4b70e431bb6d88b57a45447def Author: GCO Public CellServDB Date: Sun Aug 14 18:43:08 2011 -0400 CellServDB update 14 Aug 2011 Reviewed-on: http://gerrit.openafs.org/5270 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit a5d66d05fa0308d505de8bde59442e29be9d04f8) Change-Id: I511bd54512c30dced28d8a0bc79424a5b82d91cb Reviewed-on: http://gerrit.openafs.org/5271 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ee422deb20a54eeedbb0be954a846e6bdc5954bc Author: Jeffrey Altman Date: Sun Aug 14 18:15:24 2011 -0400 Windows: cm_FindServerByUuid correct lock acquisition Obtain cm_serverLock when 'locked' is FALSE instead of when TRUE. Reviewed-on: http://gerrit.openafs.org/5268 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit b97383c1e68a0b94baa8d05b2ab2531f96e7b63c) Change-Id: I1fb188fa493554dce366cbc4b84a32528486829d Reviewed-on: http://gerrit.openafs.org/5269 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c4e3b49fd7581d3229974e8c5f7cb13203a99cd9 Author: Jeffrey Altman Date: Sun Aug 14 00:14:10 2011 -0400 Windows: prevent cm_server races Use interlocked operations to modified the flags field. Close a race in cm_NewServer() which can result in multiple cm_server objecs being created for the same addr/port/type tuple. Reviewed-on: http://gerrit.openafs.org/5266 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c20010850e2b43a0b9a6d74357ea6111dbf3409e) Change-Id: If13f23a921f598db097b391348513a3300d3b10c Reviewed-on: http://gerrit.openafs.org/5267 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit c31e02622bf0d85d1d46cc8c3e2a3dccce4aa3ae Author: Jeffrey Altman Date: Sat Aug 13 14:35:53 2011 -0400 Windows: Insert Server Reference List changes When inserting a new cm_serverRef_t object into a server list perform the following operations: 1. take advantage of the fact that the cm_serverLock is held exclusively to purge the list of any deleted entries that could not be removed previously. 2. check to ensure that the item that is being added does not already exist in the list. If it does, discard it. Reviewed-on: http://gerrit.openafs.org/5258 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit 5b40c5f5294964fc09df2c8332ab63cd2d729264) Change-Id: I94398476267dda82e82306a87aa0bba6aa41da00 Reviewed-on: http://gerrit.openafs.org/5264 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9a9bc597c0994063dd2cf75ea653c41bee7290ff Author: Jeffrey Altman Date: Fri Aug 12 19:02:48 2011 -0400 Windows: Fix cm_serverRef ref counts Use Interlocked operations consistently Simplify cm_ServerInsertList(). It no longer increments the refCount on the serverRef object. Instead it leaves the refCount as is. Its the caller's responsibility to add a reference if required. Add reference counts and hold locks in places where the volume server list was used unprotected. Reviewed-on: http://gerrit.openafs.org/5248 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 8f446c7463c9183d59a30343682e31ad9f85b307) Change-Id: I0ed8ea1551527e0d62e57967da6816415a3b36b5 Reviewed-on: http://gerrit.openafs.org/5254 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8729eb3984a99d1c2994dbbde3df97cb5f51ae3e Author: Garrett Wollman Date: Sat Aug 13 18:51:02 2011 -0400 libafs: don't call afs_PutDCache(NULL) in afs_GetDownD() It's possible for an eviction candidate to be omitted by the small for loop (around line 670), leaving its reference in victimDCs set to NULL. In the big for loop that follows, don't call afs_PutDCache() when we hit one. Found-by: clang static analyzer with help from AFS_NONNULL Reviewed-on: http://gerrit.openafs.org/5260 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 10d27341808be41b29fbcc09b8bd7523c3b7a541) Change-Id: I4ff3ab9a57c1c48be0f7533ab3adb1e4b6ababf9 Reviewed-on: http://gerrit.openafs.org/5263 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 6fb10a85b1e7d0d80984c33d9e93e42115704f36 Author: Jeffrey Altman Date: Fri Aug 12 19:01:56 2011 -0400 Windows: remove unused variables in fs.c Reviewed-on: http://gerrit.openafs.org/5247 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 578db3bbecf218e3ab80f4896b7cde4d3975daaa) Change-Id: I8c334239a888d88422ca65d3372228417d60657a Reviewed-on: http://gerrit.openafs.org/5253 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit e32e873b89e2d7f73e17fbc7d1f89501ad5afc2c Author: Simon Wilkinson Date: Fri Apr 15 19:40:45 2011 +0100 dir: Protect against circular hash chains The dir package didn't protect against circular hash chains when performing directory lookups. A corrupt directory could therefore cause a client or a fileserver to go into an endless loop if that directory contained a loop in its hash chain pointers. Fix this by exiting the lookup if the hash chain has more elements than the total number of entries in a directory. This maximum number of entries is taken as being (number of entries per page) * (max number of pages), which is considerably more than the real maximum value. (cherry picked from commit bb25bdfcb059fc54a57fd4733ce3184e231ca88d) Change-Id: I7290dbaad66bccfe3b03a843184464f0681f9429 Reviewed-on: http://gerrit.openafs.org/5250 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a1e2aeb3f060c15313b271bfc66b7797c8cadf1f Author: Simon Wilkinson Date: Sat Jul 16 23:30:59 2011 +0100 libafs/dir: Verify directory pathnames Provide a new routine, GetVerifiedBlob() which will ensure that the pathname contained within a directory blob is correctly terminated before returning it to the caller. For the purposes of this function, correct termination is defined as having a terminating \0 character within the same directory page as the blob itself. (cherry picked from commit d1946ffe9be0031a2daf907f5e96cf0ee7f5e15e) Change-Id: I69b9465f02417babf9b1d5179197278fac64f192 Reviewed-on: http://gerrit.openafs.org/5249 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 8c2711baff2403ed13131e13c244879fd39a9a0c Author: Derrick Brashear Date: Fri Aug 12 16:54:03 2011 -0400 aklog: attempt to warn about needed weak crypto switch for Lion Lion's Kerberos is rather unfortunate. deal with the multitude of missing functionalities by hardcoding this case here. Reviewed-on: http://gerrit.openafs.org/5240 Tested-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 145a8490c761a0ebf7b3a1cc3017bbe8635f8014) Change-Id: I0efe2ee18e36f0531de8261e5f032df7de3d7333 Reviewed-on: http://gerrit.openafs.org/5252 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d1754f341b0f2e0233ba8940ccfb4e666f0084a6 Author: Derrick Brashear Date: Fri Aug 12 18:25:24 2011 -0400 redhat: update dkms config make the dkms config properly name the version. remove no-longer-needed disconnected option for configure FIXES 130170 Reviewed-on: http://gerrit.openafs.org/5246 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ef3ef1992115e6b61a7859fa2295726af0fb9318) Change-Id: If0bfb3fdf4d8499dfe14435739317f335a4c164e Reviewed-on: http://gerrit.openafs.org/5251 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5abed0aa67092cc488a8f8a343282188f00297e0 Author: Andrew Deason Date: Thu May 5 11:18:08 2011 -0500 libafs: Get rx conn ref with afs conn ref When we get a reference to an afs_conn with afs_Conn and its variants, we assume we can use the tc->id rx connection without holding any locks. However, if tc->forceConnectFS gets set, the tc->id connection can be destroyed and recreated out from under us. So, to avoid using a possibly freed rx connection, grab a reference to the rx connection at the same time as we grab a reference to the afs conn. And also put back the same reference with afs_PutConn. (cherry picked from commit 03f0c656c1734b9be4debdf19b8f10771ff4420a) Reviewed-on: http://gerrit.openafs.org/4625 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: If19a267e23941e3305f4f13cd91a0935d214f1b1 Reviewed-on: http://gerrit.openafs.org/5232 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d215fa3b57acaeac54d88f078bf210e3fd7b0866 Author: Derrick Brashear Date: Fri Aug 12 18:12:33 2011 -0400 1.6.0 release notes add release notes for 1.6.0 Change-Id: Ie1f7c025b45d333c5bd7d17981a7d36e2992107e Reviewed-on: http://gerrit.openafs.org/5245 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8d4952d2f41c04509817a5f39ceff4a152d65c52 Author: Jeffrey Altman Date: Fri Aug 12 16:30:26 2011 -0400 Windows: ChangeLog for 1.6.0 (final) Reviewed-on: http://gerrit.openafs.org/5239 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 6f725c441529ccd1616adeda19c7c0b43dcfd9cb) Change-Id: I40e3c8ccb6b490fe02b22995f1e2341c0e3048ba Reviewed-on: http://gerrit.openafs.org/5244 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf236c0f8a2bb7aa10c776fc90b4fd00e6ada823 Author: Andrew Deason Date: Fri Jul 22 16:09:52 2011 -0500 libafs: Avoid duplicate afs_Analyze in bulk stat In afs_DoBulkStat, we can call afs_Analyze multiple times for the same set of connection objects. Since afs_Analyze puts its reference to the given afs_conn and rx_connection structures, calling it more than once can cause the reference counts on those objects to be lower than they should be. Instead of making another afs_Analyze call, just alter the error code inside the normal do/while afs_Analyze loop, so the 'loop' afs_Analyze call gets the appropriate error code from the first bulk stat'd entry. (cherry picked from commit ef28bc08c18e750f6100535665d5258a317a0a2b) Reviewed-on: http://gerrit.openafs.org/5086 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I8bb484aade39830a56cb967a3e3167e63777e333 Reviewed-on: http://gerrit.openafs.org/5127 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9b090b9f776835a4d23202e5dbcbca70ff9087df Author: Derrick Brashear Date: Fri Aug 12 17:24:55 2011 -0400 doc: add old release notes pull in old release notes Change-Id: I2865c1e7a6490bf11e77d63d2acd7f2bdf99b150 Reviewed-on: http://gerrit.openafs.org/5243 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f0b590bcc084e7e3873a2236ffba13b8c62151cb Author: Jeffrey Altman Date: Wed Aug 10 16:40:35 2011 -0400 Windows: Interlocked operations for cm_buf cm_buf flags and qFlags Separate flags and qFlags in the cm_buf structure to improve performance. Reviewed-on: http://gerrit.openafs.org/5197 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 7ab34058120ebcc218e4061ea3ac3c8eeca6d83e) Change-Id: I8cbc806833af630fb56c8ef388fe3a21df1f5478 Reviewed-on: http://gerrit.openafs.org/5218 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b4466997b44c21e2b139c560815b1f9289863f11 Author: Jeffrey Altman Date: Tue Aug 9 17:25:50 2011 -0400 Windows: implement InterlockedAnd/Or for X86 Debug Reviewed-on: http://gerrit.openafs.org/5191 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit ec1295d11b5e75fa942fe8c3a0f16309c5486ed4) Change-Id: Icd6b76abec2c9a677b5e344ef36587bfbe696a43 Reviewed-on: http://gerrit.openafs.org/5212 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 730021e079dc3654bdb6996e43f19c55132254f4 Author: Jeffrey Altman Date: Wed Aug 10 11:42:59 2011 -0400 Windows: Interlocked for cm_buf cmFlags Reviewed-on: http://gerrit.openafs.org/5196 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 4876a416d2e59e87f9da8834db1ea4770f2c618c) Change-Id: I7416e0be7f0de82eddc366dbdb77e94ceabab797 Reviewed-on: http://gerrit.openafs.org/5217 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3fde0ae7608959a4fc9de6294cacef30f1d32012 Author: Jeffrey Altman Date: Wed Aug 10 12:02:20 2011 -0400 Windows: fix tptserver director creation Reviewed-on: http://gerrit.openafs.org/5195 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 8661c9b6710322195b00de6ae03b3172712104aa) Change-Id: Ie762b896e68028053a8746181f2086af57e02d0d Reviewed-on: http://gerrit.openafs.org/5216 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit cd465d19ac1f9583cd3519c916502e2e960355e6 Author: Jeffrey Altman Date: Wed Aug 10 11:41:21 2011 -0400 Windows: Interlocked ops for cm_volume Use Interlocked operations for protection of cm_volume flags and qFlags as well as cm_vol_state flags. Reviewed-on: http://gerrit.openafs.org/5194 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit cbd075a36000d0b54b64eb7d9736587b27a08e9e) Change-Id: Ib2b11cbadcbdbc244866d6bf90ab4d55ef589819 Reviewed-on: http://gerrit.openafs.org/5215 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d6092bab7a9e4a07d1a96040b7ec70da47fd5b79 Author: Jeffrey Altman Date: Wed Aug 10 11:40:35 2011 -0400 Windows: Interlocked ops for cm_scache Use Interlocked operations for cm_scache flags and mask field changes. Reviewed-on: http://gerrit.openafs.org/5193 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 75297d4439bb30ddd9968805aecf2cc2812bfdf0) Change-Id: Ic10b726eb5791c7c8d3eb7c3ad529522f627f73c Reviewed-on: http://gerrit.openafs.org/5214 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c99d8b7aa34dff9e44647969b3c352aa61350324 Author: Jeffrey Altman Date: Wed Aug 10 11:37:51 2011 -0400 Windows: Interlocked ops for cm_cell Use Interlocked operations for cm_cell flag updates. Reviewed-on: http://gerrit.openafs.org/5192 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit deb8c893c2bd78b2871ccf1ff733539534a2890e) Change-Id: I3d0a31e9f809aa91009a8cb1256937ab9646818a Reviewed-on: http://gerrit.openafs.org/5213 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 74f9ffb8bcee66b3d9075ae7d9f1466878f70468 Author: Jeffrey Altman Date: Sun Aug 7 14:11:17 2011 -0400 Windows: make osi_Log macro safe for if..else wrap the osi_Log macro's internal if statement with a do {...} while(0) block in order to ensure that it is safe for use in if..else controls without bracing. Reviewed-on: http://gerrit.openafs.org/5189 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 6691ff6daceb7960dc925983a2b9129877e67c9a) Change-Id: I954ea5a567bbfd77b02d3e8634a64f877668280e Reviewed-on: http://gerrit.openafs.org/5211 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 2d2ad3cf0f0f095e014a4a25053ffe27918aeb15 Author: Jeffrey Altman Date: Thu Aug 4 17:25:01 2011 -0400 Windows: adjust scache LRU postion upon deletion If the object represented by a scache object is deleted, update the LRU position of the scache object to make it the first object in the LRU queue to be recycled. This preserves the cached objects for those that might prove useful in the future. Reviewed-on: http://gerrit.openafs.org/5161 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit c5126838590eaf15e0df569c31b2a1bc12b3e0af) Change-Id: Icf60ad3127c295e4fca0e99e338ba4c62cd9e392 Reviewed-on: http://gerrit.openafs.org/5210 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0f56ed3253554b55987d5c59d370e4ed3377bc10 Author: Jeffrey Altman Date: Thu Aug 4 17:15:16 2011 -0400 Windows: LockOrderValidation memory usage optimization Instead of using malloc() and free() to allocation lock reference structures, cache allocated objects in a free list. This reduces memory fragmentation. Reviewed-on: http://gerrit.openafs.org/5159 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 17e50a4b98de057a699681261ba126a5ac12a0cc) Change-Id: Ifc8d7b6a92e32557575e24cec7513f890439ce67 Reviewed-on: http://gerrit.openafs.org/5209 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b631ff9b93737d0452b024421c236379fc92b8c8 Author: Jeffrey Altman Date: Thu Aug 4 17:08:45 2011 -0400 Windows: after dir enum adjust dir scache LRU During a directory enumeration the directory scache object is reference counted so it can't be recycled. However, if there are more directory entries than the maximum number of cached scache objects the directory scache object will end up being the next object to be recycled after the refcount is dropped. Since the directory is clearly a hot object, before dropping the reference, adjust the scache LRU position so that it is the last object to be recycled. Fix the variable name for the directory scache to be 'dscp' for consistency. Reviewed-on: http://gerrit.openafs.org/5158 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 2bce3b50ef4fd9b9bdd03daf6e8332710f541922) Change-Id: Ie4400d769a7ac2d0bfed3ccebe02760619bb76b2 Reviewed-on: http://gerrit.openafs.org/5208 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 758c5867bafcce658c79cf193b061ce7b77f5523 Author: Jeffrey Altman Date: Tue Aug 2 18:24:56 2011 -0400 Windows: use %p to print cm_scache_t pointers Reviewed-on: http://gerrit.openafs.org/5152 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 4111ee2374d030e1f3bb1fa3530f2877f2576d07) Change-Id: If4ff7b219cce5c631666e0843123f6c7d8dbcec6 Reviewed-on: http://gerrit.openafs.org/5207 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 99b4d146fb0cf4f3d2449531d7484361028ec5bb Author: Will Maier Date: Sun Jul 31 14:24:12 2011 +0100 RedHat: Return status values from client init The init script provided with OpenAFS always returns 0 when the status subcommand is called, even if the service is not running. For example: $ sudo service afs status; echo $? afsd is stopped 0 This change makes sure the init script exits with the value returned by the status function from /etc/init.d/functions. With this patch, the afs init script behaves as expected when used, for example, in a Chef service resource: $ sudo service afs status; echo $? afsd is stopped 3 Reviewed-on: http://gerrit.openafs.org/5123 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 6b83ba621b520174dc4679c220888619dc0b44a0) Change-Id: I4103875caba88d61c3edf480f3a7e0b24227a319 Reviewed-on: http://gerrit.openafs.org/5231 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b51cadd464887b8607b61d9ee6493bb344474840 Author: Andrew Deason Date: Fri Jul 29 16:44:11 2011 -0500 SOLARIS: Do not release NULL root vp on unmount When we unmount, and afs_globalVp is NULL (e.g. because root.afs was unavailable when the client was started), we will panic the machine if we try to release it. So, if afs_globalVp is NULL when we hit our unmount handler, don't touch it. Reported by Andy Cobaugh. Reviewed-on: http://gerrit.openafs.org/5117 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit b621a2986099488426a026818532a9600db9aeba) Change-Id: Iaa5db97e9fc87d1eb083d20a9fc6a49cbb5a066b Reviewed-on: http://gerrit.openafs.org/5230 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0e38a8fd8043f34da12741f6272a380d9a7b9dcf Author: Derrick Brashear Date: Mon Aug 1 10:58:28 2011 -0400 vos: spell "vldb" correctly i'm not even going to ask. Reviewed-on: http://gerrit.openafs.org/5125 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit d54c9b05d003bf861fd51e904b631e5425a079d6) Change-Id: I0188a58363657a0ccf48afef79bf63ff4c4b4f9d Reviewed-on: http://gerrit.openafs.org/5229 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 55af68293e3d49be631723460539c4a5447e6477 Author: Simon Wilkinson Date: Wed Aug 3 18:45:01 2011 +0100 volser doesn't depend on tviced, but on vlserver Nothing within the volser/ directory depends on tviced, so remove the unecessary dependency. Add an explicit dependency on vlserver, so that libvldb is available to us. This is required to get rid of some potential circular loops when we start including volser objects in libafsauthent Reviewed-on: http://gerrit.openafs.org/5156 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 400c72561e7622716a46a38affd2f5a7842519eb) Change-Id: I0ff6463cc63093f1c82ed74523256cbdb7fc75c8 Reviewed-on: http://gerrit.openafs.org/5228 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3fd135d48b76b2e54329b75e53a67cac1abb29d4 Author: Garrett Wollman Date: Sat Aug 6 23:15:14 2011 -0400 vos: don't free stack garbage on error If wantExtendedInfo is true, then pntr is used uninitialized. In the other case, UV_ListVolumes will have set it to NULL before doing anything (even if it returns an error), so this free() is dead anyway. Found-by: clang static analyzer Reviewed-on: http://gerrit.openafs.org/5164 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 619b420903c99e48618db0d2f12085111573f279) Change-Id: Icd76d3ac160ccb04b05445552a9e6d04f053efbb Reviewed-on: http://gerrit.openafs.org/5227 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 09565faea51e624306a2ddcbbb898888db987a12 Author: Garrett Wollman Date: Sat Aug 6 23:49:10 2011 -0400 butc: avoid testing stack garbage; remove dead initializer "code" is unconditionally set early in saveDbToTape() so there's no need to initialize it. On the other hand, dumpEntry.id is used before dumpEntry is initialized, so set it to what appears to be the expected value before any non-local exits could cause it to be inspected. Found-by: clang static analyzer Reviewed-on: http://gerrit.openafs.org/5166 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c92f04af6094ce04b1541a1b23b254d3c1421290) Change-Id: If99aaf327749550623ef5abc3dd077f5291bc899 Reviewed-on: http://gerrit.openafs.org/5226 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4aacd49270900f9a882a6265beec4b126df61d8b Author: Derrick Brashear Date: Mon Aug 1 16:38:46 2011 -0400 rx: avoid nat ping until connection is attached drop nat pings on connections we haven't talked on yet Reviewed-on: http://gerrit.openafs.org/5130 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit 496fb87372555f6acddd4fd88b03c94c85f48511) Change-Id: Id64a771f9cb50191a665f5ccb98ec66d991f47bb Reviewed-on: http://gerrit.openafs.org/5225 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f648519f2e7008d81a29113d6ce23158dcd37bcf Author: Garrett Wollman Date: Sat Aug 6 23:55:50 2011 -0400 butc: avoid freeing uninitialized pointer in writeDbDump() In error conditions, charList could be freed before it is initialized. Move the initialization up to before the error checks. Found-by: clang static analyzer Reviewed-on: http://gerrit.openafs.org/5167 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 43834bff1a2b1af348ff69d538a884bf1070b90c) Change-Id: I05d1602b3f59b521d7daa3fd23f6609bf14c460e Reviewed-on: http://gerrit.openafs.org/5224 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b8f95c1535538ddd4631a9b8d7286df030accc5a Author: Garrett Wollman Date: Sun Aug 7 00:35:36 2011 -0400 afsd: look in the right place for -splitcache argument The argument to -splitcache is in as->parms[34], not [30]. Found-by: clang static analyzer Reviewed-on: http://gerrit.openafs.org/5169 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 90ea68979c6740583747d0af500ed4a034eba651) Change-Id: Iff8072cf8c7b5d9a5d7486fc9778f079fab1426c Reviewed-on: http://gerrit.openafs.org/5223 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 32dcb109e35b96b2de81812d2ca613a47827811f Author: Garrett Wollman Date: Mon Aug 8 23:26:38 2011 -0400 bos: don't dereference a null pointer when printing an error message The parameter we are interested in is at MRAFS_OFFSET + 17, not MRAFS_OFFSET + 13. Found-by: clang static analyzer Reviewed-on: http://gerrit.openafs.org/5178 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit bf4b2fd3e26dcf2a0db704815e05d77a558d38c6) Change-Id: I92db9e5ec10054cef4421ab1b2fd0f60baaf07ca Reviewed-on: http://gerrit.openafs.org/5222 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 30ed969917a034f5ada832ad72deb812f3228ac5 Author: Simon Wilkinson Date: Wed Aug 3 19:07:14 2011 +0100 tbudb depends on tubik ... ... so say so in the Makefile (cherry picked from commit 88725587e97d717086801b2522e4625e5fdeb3a8) Reviewed-on: http://gerrit.openafs.org/5155 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: Ibe759403533cd4b2d538cf1cd905c6268a341f0f Reviewed-on: http://gerrit.openafs.org/5235 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f0367e2168b3ba1012f723ab13fa231fa4f61ff0 Author: Derrick Brashear Date: Thu Aug 11 10:43:16 2011 -0400 macos: axe static vfs_fsentry for whatever reason, lion 32 bit doesn't like it when this is static. fine, so it's not static now. Reviewed-on: http://gerrit.openafs.org/5206 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit d18ff03b59cf26423795f735decdcaf13097c446) Change-Id: I3949fcb69e14c00e0ade2826345be489426d7a04 Reviewed-on: http://gerrit.openafs.org/5220 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a2dacced44c8fdae74dd2c7faec94156ec8f8c4a Author: Derrick Brashear Date: Thu Aug 11 11:11:01 2011 -0400 viced: avoid aborting on host table exhaustion if we exhaust the host table, instead of aborting, return VBUSY at the client, to defer until hopefully hosts are freed. Reviewed-on: http://gerrit.openafs.org/5181 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit a3b4cd3c7325c7878ec7b47008f0eec8bfcb1175) Change-Id: Ic761e487ef0cfe402103bf06bd051958b07641b9 Reviewed-on: http://gerrit.openafs.org/5219 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a607422134c790ca7f35c688d2e8f1878a2c0015 Author: Jonathan Billings Date: Thu Aug 11 13:48:48 2011 +0100 rpm: Set executable bits on installed libraries Set the executable bits on the libraries installed in libdir. This change is important because it causes 'rpmbuild' to generate Provide tag metadata for the libraries in the package, which is necessary now that some binaries in other packages have generated Requires tags for libraries packaged in the base package. 'rpmbuild' will not generate the Provides tag if the libraries lack executable permission. This change is part of 3f7d8ec219e1aa04b6c0417ecf5e730d40b4f149 on master (the rest of that change isn't applicable to the 1.6 branch) Change-Id: Ie95d0d5e16745cfbf0d2a733a9421f94a89216ff Reviewed-on: http://gerrit.openafs.org/5204 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 592b0419bdf3c1af5ecc8f10685e4a2e5df3976d Author: Andy Cobaugh Date: Fri Jul 15 12:06:12 2011 -0400 rpm: remove postinstall message from openafs-client Printing out information on how to configure cacheinfo and ThisCell is a bit noisy, and pam_afs.so is probably not what most people want to use nowadays. Reviewed-on: http://gerrit.openafs.org/5026 Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Tested-by: BuildBot (cherry picked from commit 30cd8dafa73d90a943f00af05e4841699bc18534) Change-Id: Ib6b7448b5e123a593d595b73f8102d82d1ae2535 Reviewed-on: http://gerrit.openafs.org/5203 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 7f3f28adb7ff1ba6de9aa7195a094ff5d0666ca5 Author: Simon Wilkinson Date: Tue Jul 12 01:45:10 2011 +0100 rpms: Fix handling of x86 architectures Once upon a time, our specfile would assume that if you were building for i386 you were building userspace, and that i586 or i686 implied doing a kernel only build. This is no longer the case, and now everything on modern Fedora is built for i686, so we should adapt the spec file for this. Reviewed-on: http://gerrit.openafs.org/4970 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 84a3c4714fce3c1722802963e1fcc4d7dad8cc55) Change-Id: I16c2a4a6586e63be967b5fb019ede10a24c6cde4 Reviewed-on: http://gerrit.openafs.org/5202 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 3f70a7dccc8ec420872afda840e93423c0ac575a Author: Simon Wilkinson Date: Mon Jul 11 20:21:17 2011 +0100 rpms: Fix our %version handling When we're doing version requirements in -devel package Requires: lines, we should be using %{version}-%{release}, not just %{version} FIXES 130137 Reviewed-on: http://gerrit.openafs.org/4969 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 15c073887b905adaef301863ed87c49f9d77b394) Change-Id: I047f535b023a01468a3ad169d1742002abb59123 Reviewed-on: http://gerrit.openafs.org/5201 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 24471095dc768f13c4b246f1ff04c5793c93a1c3 Author: Garrett Wollman Date: Mon Aug 8 21:18:15 2011 -0400 kdb: don't dereference a null pointer on corrupt database When iterating through the database, kdb would dereference a null pointer if it encountered an error retrieving the value or if the value was not the right length, in code that was clearly cut-and-pasted from the other branch of an "if" statement where a specific entry was requested on the command line. Print the name of the entry with the problem as was apparently intended. Found-by: clang static analyzer Reviewed-on: http://gerrit.openafs.org/5174 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit ae6a3929489035ddcd17785abab8900cebd22eb3) Change-Id: I5c79189f82a636b923c074d3c69cb3b6fef732aa Reviewed-on: http://gerrit.openafs.org/5188 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 4952c8212a1dd3d996eb4577b0390f21b2ee4cb7 Author: Garrett Wollman Date: Wed Aug 10 00:18:28 2011 -0400 FBSD: catch up with the disappearance of VOP_GETVOBJECT The vnode operation VOP_GETVOBJECT disappeared in FreeBSD 6.0, an embarrassingly long time ago. Six years ago, a kluge was added to emulate its behavior, but it did not correctly emulate the return value of the old VOP implementation. As a result, osi_VM_StoreAllSegments() could never actually do anything. Since we don't support FreeBSD before 8.0, remove all references to VOP_GETVOBJECT and examine vp->v_object directly instead. This has the result that osi_VM_StoreAllSegments() will actually do something now, which may not be desirable. (Previously, if somehow the vnode had no associated VM object, it would crash, and otherwise it would do nothing at all.) Found-by: clang static analyzer Reviewed-on: http://gerrit.openafs.org/5183 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 7d0cd1393ff5c69cba2f14fc76aa8f7ca588ccc3) Change-Id: I57198967ad022f50af073ac43643f3a55b0801ef Reviewed-on: http://gerrit.openafs.org/5187 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 362414f7aa04ec15dde4441479cac54be43c75f5 Author: Derrick Brashear Date: Wed Aug 10 09:39:23 2011 -0400 macos: reset next vcache pointer after reacquiring xvcache dropping the xvcache lock means that things can change out from under us. in case they do, reset the next vcache pointer before looping Reviewed-on: http://gerrit.openafs.org/5184 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e8607d8d250fb41fcf4e60a09917f971c4d6104a) Change-Id: I2ad487e348f84cd7ced884c920230e3371fce902 Reviewed-on: http://gerrit.openafs.org/5186 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ba3a5a7de2da13a02f4502f90d23ccc00bb7a69d Author: Jeffrey Altman Date: Mon Aug 1 21:40:25 2011 -0400 Windows: add missing dafs man pages to wix installer dafileserver.html dasalvager.html davolserver.html Reviewed-on: http://gerrit.openafs.org/5149 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from fec4e6bc595014f34c38707c0015c1f76edd770e) Change-Id: Ied99d695c59242903d39249c1d1bb25058d40a24 Reviewed-on: http://gerrit.openafs.org/5151 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d3ff190e148a0407bc82122f40003f6060dfab9e Author: Jeffrey Altman Date: Mon Aug 1 11:05:51 2011 -0400 Windows: conditionalize mappings of error values Visual Studio 10 adds a large number of additional POSIX C99 error values to errno.h. Wrap each mapping with #ifndef to ensure that we do not redefine the C runtime errno.h definition. Reviewed-on: http://gerrit.openafs.org/5129 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from f631a11f5e9ab50e62b3aaebbff9ef200ac799fe) Change-Id: I528547f95ebbe83390924844d21a9e850dc5967d Reviewed-on: http://gerrit.openafs.org/5148 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 19cd276d0969853de86c0067980353eeb7309eef Author: Jeffrey Altman Date: Mon Aug 1 11:00:55 2011 -0400 Windows: unified afs errors must use nt mapping On Windows, error.h does not provide a complete list of POSIX C99 error values. OpenAFS fills in the gaps with a private error mapping table afs/errmap_nt.h (src/util/errmap_nt.h). If errmap_nt.h is not included prior to processing unified_afs.h, values such as ELOOP will be mapped to EIO instead of the unique value defined by errmap_nt.h. Reviewed-on: http://gerrit.openafs.org/5128 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from 71e64b6f21817872676e74a8c67c0f0bcfb23391) Change-Id: If6582d7242418c15eb007471199a6dfcc6732e3b Reviewed-on: http://gerrit.openafs.org/5147 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit a36705f48889821ff38c6f8fc72c5ccb980e14ac Author: Jeffrey Altman Date: Fri Jul 29 18:09:53 2011 -0400 Windows: Do not execute tasks on deleted files If a cm_BkgDaemon thread finds a queued request whose cm_scache_t has the CM_SCACHEFLAG_DELETED flag set, do not execute the request and fail it immediately with CM_ERROR_BADFD. Any attempt to execute the request will fail with VNOVNODE from the file server. Reviewed-on: http://gerrit.openafs.org/5120 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from afc3ded56795d30e4e0f38d11f8302568943c49b) Change-Id: I92610c215d7d44ceb1894bb3ab7784534a66e452 Reviewed-on: http://gerrit.openafs.org/5146 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit cf11acc2fd82170f891042ad945f94ec7ea8bb6b Author: Jeffrey Altman Date: Thu Jul 7 17:51:58 2011 -0400 Windows: cm_BkgDaemon should not do cm_SyncOp's job cm_SyncOp is designed to synchronize operations among multiple threads. The background daemon threads should not filter requests based upon cm_SyncOp states. Doing so is racy and does not produce better performance. Reviewed-on: http://gerrit.openafs.org/5119 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from 7e3615208d9e1b03d8eba4fb802744b2b81f8868) Change-Id: I2293643bf708c3e87093005d95c7d1203c6f680a Reviewed-on: http://gerrit.openafs.org/5145 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 9d44937928dbd20418f6b9b4fb0fd697f6348ddc Author: Jeffrey Altman Date: Fri Jul 29 18:07:42 2011 -0400 Windows: Do not release locks on deleted files If the cm_scache_t flags include CM_SCACHEFLAG_DELETED, do not bother releasing an outstanding file lock to the file server. The lock went away when the file was deleted. Any attempt to release will fail with VNOVNODE which is translated locally into CM_ERROR_BADFD. If a RXAFS_ReleaseLock RPC fails with VNOVNODE, treat it as success. Reviewed-on: http://gerrit.openafs.org/5118 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from fa11f71f040b2e6856047c53fdd902109e5c6e52) Change-Id: I4b70abab200ea50b419e215f4b3f3b4d3d7ab484 Reviewed-on: http://gerrit.openafs.org/5144 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit cbd458b09b3862cba1f133a89c50e382a8127b16 Author: Jeffrey Altman Date: Thu Jul 28 15:05:28 2011 -0400 Windows: permit perl command to be explicitly set Add PERL variable to the build system. If not specified externally the variable will be set to 'perl'. However, ActiveState Perl should be used and not Cygwin Perl. The build environment should indicate that by specifying a PERL setting. SET PERL=c:\perl64\bin\perl.exe or similar. Reviewed-on: http://gerrit.openafs.org/5115 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from 4138a778fe821493c726826ffc4715f5f46222d9) Change-Id: Ifd5ba10176ba1a7d6fda7506a0a4c250ad1945f6 Reviewed-on: http://gerrit.openafs.org/5143 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit af292a7dbc5d9eae3fd0b0f69a6adf4401368a2b Author: Jeffrey Altman Date: Thu Jul 28 15:02:14 2011 -0400 man: add missing pod files to Windows makefile Several of the demand attach pod files were not being processed on Windows. Reviewed-on: http://gerrit.openafs.org/5114 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from 4a24a59d52266fcbbf92041ce3a74a455e84a25c) Change-Id: I84663e5313d1845761ba7fe7043448ba000c9ec5 Reviewed-on: http://gerrit.openafs.org/5142 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit cd516507a6df28a8830c798d2d499ca11c217b0c Author: Jeffrey Altman Date: Thu Jul 28 14:59:05 2011 -0400 merge-pod changes for cygwin and MSWin32 perl On Windows, the git repository is checked out as CR-LF. Tell perl to open the pod file with cr-lf as the end of line. On Windows, the input file names are of the form podX\foo.pod.in. Cygwin perl cannot parse the directory for the file name unless the path separator is converted from \ to /. Reviewed-on: http://gerrit.openafs.org/5113 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from 0b6247c27fcc0b8a2f307ccc545eea777a07f999) Change-Id: Ifc4a649ee2b59115632f8d27a00b2bdb794822d1 Reviewed-on: http://gerrit.openafs.org/5141 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2efb653cf2ee17856875ea32586b3afa23c4c67d Author: Jeffrey Altman Date: Tue Jul 26 17:37:37 2011 -0400 Windows: add debugging to afskfw More debugging output added when a debugger is present. Reviewed-on: http://gerrit.openafs.org/5112 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from b61bd99bce68055dc0dd53b82d1d5318c25d9051) Change-Id: If3aaa87f648f6fd1ae21d19d05522d48928dc4ff Reviewed-on: http://gerrit.openafs.org/5140 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit ad854ce900ad34e7ab686ed2ab47e33cdc422f5e Author: Jeffrey Altman Date: Tue Jul 26 17:36:25 2011 -0400 Windows: afskfw remove TRUE conditional Simply the code by removing an if(1) conditional. Reviewed-on: http://gerrit.openafs.org/5111 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from 7c59ec8f816120c738b1da83f7db9349d912f573) Change-Id: I332b82b24c97810074e87521c8727b5827d7b54b Reviewed-on: http://gerrit.openafs.org/5139 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit c4afc3f125e6df05220da59dbc26a74e9c82aa5e Author: Jeffrey Altman Date: Tue Jul 26 17:34:52 2011 -0400 Windows: KFW_AFS_get_cred userrealm The userrealm string in KFW_AFS_get_cred() should not include the '@' symbol from the user principal. Including the '@' produces an invalid realm name. Reviewed-on: http://gerrit.openafs.org/5110 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from 214e9a6052b1dab2a0c4383632640936c3e518c6) Change-Id: I24007935b35ac2a603486fc40a79f94b9b90fa8e Reviewed-on: http://gerrit.openafs.org/5138 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f1ee02d073f7b9257d73b7b1a042daa44e54641c Author: Jeffrey Altman Date: Tue Jul 26 17:32:28 2011 -0400 Windows: afslogon start service if not started If the service is configured for auto start but has yet to start, kick it off just in case. Reviewed-on: http://gerrit.openafs.org/5109 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from a063ecdc78cf888df2459b32b0082d4767948563) Change-Id: I8395230328385eb8d554cc85d2e659a3b7cacfb7 Reviewed-on: http://gerrit.openafs.org/5137 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit eec4c8fbf8659858cac977991aba562a79bbf00c Author: Jeffrey Altman Date: Tue Jul 26 17:03:56 2011 -0400 Windows: improve afskfw error message output Add KTC and PT error messages to those that can be translated within afskfw.lib. This improves the error logging for afslogon.dll, afscreds.exe, and afssrvadm.exe Reviewed-on: http://gerrit.openafs.org/5108 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from 549737f1e7d52256f053c86116b56c3211b084b6) Change-Id: I4eb6f23e035b0774dffce8779d680b16ea607d2e Reviewed-on: http://gerrit.openafs.org/5136 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f7cbd71eb6e0696c2cb89e9af78e057ce53ec255 Author: Jeffrey Altman Date: Wed Jul 20 18:31:17 2011 -0400 Windows: do not leak space allocation smb_ReceiveNTTranCreate leaks a cm_GetSpace allocation on error. Don't do that. Reviewed-on: http://gerrit.openafs.org/5062 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from c61f5208f553ed1674d1ae51d6e0f16fcdbba47b) Change-Id: Id706189bd0aafb0b55c58f28fff80ba841a8ef48 Reviewed-on: http://gerrit.openafs.org/5135 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit cd52a9a711b25703953c7b10b04532a165c34042 Author: Jeffrey Altman Date: Wed Jul 20 18:32:35 2011 -0400 Windows: smb_ReceiveNTTranCreate path not found if the directory object cannot be found in the tree, return CM_ERROR_PATHNOTFOUND instead of crashing. Reviewed-on: http://gerrit.openafs.org/5061 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from 9c2d3180aa760d2a406bb68dd84e73f7d1ec7019) Change-Id: I3150f9d5ee1e1d548b29161086ebcea21b2351cb Reviewed-on: http://gerrit.openafs.org/5134 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 545479dea3e9fc0f3d2b3537aa148c2caf02589a Author: Jeffrey Altman Date: Wed Jul 20 14:18:25 2011 -0400 Windows: cm_daemonCheckOfflineVol fix When computing whether or not to perform an offline volume check it is critical that the 'lastBusyVolCheck' variable be assigned the current time instead of 'lastVolCheck'. By setting the wrong variable a new offline volume check is performed every 10 seconds which is undesireable. Reviewed-on: http://gerrit.openafs.org/5054 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from 0783b8f3821f59004146b4c34a53189ada178d70) Change-Id: I18617371d20798a923c5712188a229633ff43519 Reviewed-on: http://gerrit.openafs.org/5133 Tested-by: BuildBot Reviewed-by: Jeffrey Altman commit 0fdeada154476b6a140d8548aa8f44f1d1efeb90 Author: Jeffrey Altman Date: Wed Jul 20 14:12:42 2011 -0400 Windows: Add shutdown event log message Add an explicit message that the shutdown sequence is complete. This is necessary because during a Windows OS shutdown, the service is frequently killed prior to the memory mapped file is fully released. Reviewed-on: http://gerrit.openafs.org/5053 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from e91f16ebb704a431f9731bb39bf9b5621b7f6ad0) Change-Id: I80685fae2b581171c580b039ae029ca69bea467c Reviewed-on: http://gerrit.openafs.org/5132 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit e474c0809700896a7edf38b75a8df8ced623a2b1 Author: Jeffrey Altman Date: Wed Jul 20 14:04:57 2011 -0400 Window: breakout CM error codes into separate header Reviewed-on: http://gerrit.openafs.org/5052 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from a1af69182b12bedd8a413d38cef9a4691286da46) Change-Id: I82adf60bef97575d47b65561fdc2b097f8ac610a Reviewed-on: http://gerrit.openafs.org/5131 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fcba74d4776af6b21652fee2de628bd1acdd1c02 Author: Derrick Brashear Date: Mon Aug 1 09:58:27 2011 -0400 macos: fix vnode finalization erroneously pushed a bad version of this. fix it now. Reviewed-on: http://gerrit.openafs.org/5124 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5ebef72c0299560716f3bc8d59122aedd61cc399) Change-Id: I10aa962b158616d7d9e9207fd0307900abda0cee Reviewed-on: http://gerrit.openafs.org/5126 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ed89a0b0e7980d2c42bb64c59c71f6d7ca2d1e33 Author: Derrick Brashear Date: Tue Jul 26 00:52:18 2011 -0400 macos: don't attempt finalize fixup on root vnode because of how the root fid is created we can end up being dumb. turns out we never want to bypass doing the full pass for root anyway so just force fixup to not happen. Reviewed-on: http://gerrit.openafs.org/5095 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f8ff2591f73401e6d9b6def7630f428569e2f3a6) Change-Id: I2196196d7373400f2d7f6d0654047273157df1ee Reviewed-on: http://gerrit.openafs.org/5097 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3f35f178101e268612f46ecf8253868275ca1cae Author: Derrick Brashear Date: Fri Jul 22 15:39:49 2011 -0400 aklog: check ccache errors in get_user_realm if there's an error finding the specified ccache, don't bother continuing. Reviewed-on: http://gerrit.openafs.org/5069 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 09d1d8575ce96ef945a4fd8a99a0347f4e258c1e) Change-Id: I4b18cae14a9b620ea62d62eebc0b62f83f67a84a Reviewed-on: http://gerrit.openafs.org/5072 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3e1c4c79a1c4f7762432a5816a50f84e0bf89348 Author: Derrick Brashear Date: Fri Jul 22 14:24:08 2011 -0400 macos: avoid KLRenewInitialTickets crash in Lion the shimmed heimdal in Lion crashes on this call now. the shim also exports diddly squat. fine, we pick over what IS exported and use only calls available to us. should be exactly as functional as before. Reviewed-on: http://gerrit.openafs.org/5065 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 62cccc4547bd816dfffb2c1a4431c3c674d302f8) Change-Id: I44ec9305c3f8e07cb68b2614b237b62e29a66516 Reviewed-on: http://gerrit.openafs.org/5071 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit bc8b5d430cd8fea7d7aad9af1f3e7958f372bfce Author: Derrick Brashear Date: Thu Jul 21 20:30:00 2011 -0400 macos: krb5_524 is uselessly stubbed from MITKerberosShim-44: dummy(krb5_524_conv_principal, 0); dummy(krb5_524_convert_creds, 0); this basically logs and returns success. not helpful. so let's just not call them. Reviewed-on: http://gerrit.openafs.org/5066 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ee950e7ecf578bd225eec29b182f108450c5bfaf) Change-Id: Idc2fa790d97b75971c29eec98bb96e799356dc4a Reviewed-on: http://gerrit.openafs.org/5070 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 98c2c2baa02c0aeeda1a1823504cd81ab9833ed2 Author: Derrick Brashear Date: Wed Jul 20 14:55:32 2011 -0400 redhat: support epel yum configs in mockbuild epel's mock is useful in terms of config, but we need to allow use of it. do so here. add centos6 at the same time. Reviewed-on: http://gerrit.openafs.org/5056 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 45f0cbf83aed2bd534e9b43822c033ef6b4a9b1b) Change-Id: Ic46bcbcc8045773d8ce248fe2dea93b27d24ecf2 Reviewed-on: http://gerrit.openafs.org/5067 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 4786eb20cfcff3965479cfc730d8d18fee5c3c01 Author: Ken Dreyer Date: Thu Jul 7 08:55:51 2011 -0400 Red Hat: update build script for newer Fedora versions Remove old Fedora versions and add the currently-supported ones. Reviewed-on: http://gerrit.openafs.org/4925 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8bface302c14698a14b7b988e1a7714e84415c04) Change-Id: I130c7289e06ede351adf8ace92fcdbac900b7819 Reviewed-on: http://gerrit.openafs.org/5068 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit cd03087df0f7781497dc7dc3958dcf75a753f49f Author: Russ Allbery Date: Mon Jul 18 17:13:15 2011 -0700 Add additional NEWS entries for 1.6.0pre5 through 1.6.0pre7 Taken from the release notes. Do a bit of minor combining of related issues since NEWS presents these all as changes in 1.6.0. Reviewed-on: http://gerrit.openafs.org/5044 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e06931172eec5a683490040f5564b294d263dac4) Change-Id: I0fbd566258eec2f5d2664acf40289c4d6c544ee7 Reviewed-on: http://gerrit.openafs.org/5045 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7a47d55d0471e69821fc8be31d1e2a1d8cabdebf Author: Ben Kaduk Date: Thu Jul 14 15:49:40 2011 -0400 Install afszcm.cat for i386_fbsd make dest Because we missed it in gerrit/4815. Reviewed-on: http://gerrit.openafs.org/5022 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b6d05986f0c79bdf54169fc7b209b137c0e63a39) Change-Id: Ia72180e49d1fb0a92911cb5158d8eb368d4c2a40 Reviewed-on: http://gerrit.openafs.org/5024 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0b69d7234ae380df302872f6c010b92a51b40649 Author: Derrick Brashear Date: Thu Jul 14 11:49:04 2011 -0400 Revert "windows: include cmp_Cmd_Ref_3_en_US component" This reverts commit 96f7d4d3e6ba75d40e7b47acb728a8dbef8c1a01. Not until we have man3 in 1.6 do we need this. Change-Id: If8490d6f66a220fe08995c011fee04d57d8e9adc Reviewed-on: http://gerrit.openafs.org/5019 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f205ea7c1a69bf5b2c73168581292ef70f820c5d Author: Derrick Brashear Date: Wed Jul 13 19:26:22 2011 -0400 make 1.6.0pre7 update versions for 1.6.0pre7 Change-Id: I0efa0e544638de8f6f9d617d02072144f6fdd1ed Reviewed-on: http://gerrit.openafs.org/5011 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 74fe7f6acf1b82d2b6bafd0c321d396621a6f7ce Author: Jeffrey Altman Date: Fri Jul 8 09:49:51 2011 -0400 Windows: ChangeLog for 1.5.9907 Reviewed-on: http://gerrit.openafs.org/4954 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 30d68e6934810e3cfc67518d36cb8be26d6542b8) Change-Id: I899f89d277d816bf429e90c09bf69f1703fd82e1 Reviewed-on: http://gerrit.openafs.org/5010 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 60b385e87958a43b9bdc98ba40c85cb89f4c1b66 Author: Simon Wilkinson Date: Wed Jul 13 11:53:57 2011 +0100 Add make dist and make srpm targets Add targets to generate distribution tarballs, and srpms, from a tree. These will generate packages for whatever the current HEAD of the tree is - if the HEAD is a release tag, then the packages will be named for that release, if the HEAD is between releases, then git describe will be used to create an appropriate version identifier. The tarballs are generated from the current git repository contents, anything not checked in will not be included. Reviewed-on: http://gerrit.openafs.org/4984 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f775c0fb6f9191dcf5d226bfddbf82f52cd1116c) Change-Id: I03b4f02d979bbc851e043e5979a54d00f9c52439 Reviewed-on: http://gerrit.openafs.org/5009 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7fe2d2c18eb6303248cdfd7974becf9d5277374e Author: Simon Wilkinson Date: Tue Jul 12 17:58:16 2011 +0100 rpms: Use git version information Use the git version information when building RPMS, rather than hard coding it into configure.ac. (cherry picked from commit 6a27e228bac196abada96f34ca9cd57f32e31f5c) Reviewed-on: http://gerrit.openafs.org/4983 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: Ibfe38e924eb53e279aaeff77882957a32ebb279b Reviewed-on: http://gerrit.openafs.org/5008 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ccd770e8a38d59619f1972672ac9392e92cfcc7b Author: Simon Wilkinson Date: Wed Jul 13 14:35:48 2011 +0100 vol: Initialise list before error exit when cloning The inode list wasn't being initialised before the first call into the error handler. This makes it possible that we end up trying to discard items from an uninitialised list, with all the chaos that would cause. Fix things so that this list is correctly set up. Reviewed-on: http://gerrit.openafs.org/5001 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit beda3b239a13903d4bcd9a5d91d5ff562962cb5a) Change-Id: I3e3c4b8565e373f74bb95416e4c9b101d02fd78f Reviewed-on: http://gerrit.openafs.org/5007 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a508d96354ddb58182046d54be35fcb7eca14a48 Author: Derrick Brashear Date: Wed Jul 13 22:47:57 2011 -0400 volser: remove pragma requiring ultranew gcc this won't fly with the gcc in the field most places. move along. (cherry picked from commit XXX) Change-Id: I7ca987e05502c0ffc75f826b40200467bf0abfbb Reviewed-on: http://gerrit.openafs.org/5015 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4843369f20d437a01f43a6a94ec58fb0a4b7ff3e Author: Simon Wilkinson Date: Wed Jul 13 14:33:57 2011 +0100 volser: Actually return errors from ListOneVolume The return code from GetVolInfo was being thrown away, and success returned to the caller, regardless of the success of this function. As GetVolInfo's exit codes aren't suitable for sending over the wire, just return ENODEV if this function returns failure. (cherry picked from commit 53cc2ebaea5e5488d5285f0d13ffa47069ee986f) Reviewed-on: http://gerrit.openafs.org/5000 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: I72e82d014ea2320a095bb4a3281449d250a52d3b Reviewed-on: http://gerrit.openafs.org/5006 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 5452fa62c98b08b5ec3a85d2b7c08585294d4906 Author: Jeffrey Altman Date: Wed Jul 13 08:15:04 2011 -0400 Windows: not safe to dereference before locking Throughout cm_server.c, input parameters to functions that are protected by cm_serverLock are dereferenced by assignment during variable initialization prior to the cm_serverLock being obtained. As a result there is a race which can result in either list corruption or dereferencing freed memory. Reviewed-on: http://gerrit.openafs.org/4985 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 130155ff3c48f2da2433b359588346b4438d24a2) Change-Id: I02e83faa889bb55b025253bbd1c51a389434eee4 Reviewed-on: http://gerrit.openafs.org/5014 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 00d8cbfe5563b5363ceaa4c65f52d3104f596004 Author: Derrick Brashear Date: Wed Jul 13 09:55:21 2011 -0400 Revert "rx: prevent connection channel assignment race" This reverts commit 3620b51779846175b51f82d677838c7cb4dc181d. Change-Id: Idf8d95fe8fec0bdd94e9f9fc1c30695fb52604fa Reviewed-on: http://gerrit.openafs.org/4986 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 1ad38526a600f5199cf3df5bbced3ac1c9d8e9ca Author: Derrick Brashear Date: Tue Jul 12 13:46:53 2011 -0400 macos: note additional vfs features currently we have inode numbers which do not change. note it. additionally, we support large files. note it. Reviewed-on: http://gerrit.openafs.org/4973 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4470d849ec731c97dd2fb02dc6cbfe777949b510) Change-Id: Iee356a8424efe3c79745bf1bf5a1553c988d9d12 Reviewed-on: http://gerrit.openafs.org/4982 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 8ecd684a33817e94c9671238565a755e5818e753 Author: Jeffrey Altman Date: Sun Jul 10 03:43:45 2011 +0100 rx: prevent connection channel assignment race When rx was converted to use pthreads, the code that allocates a call to a connection channel in rxi_ReceivePacket() was not made thread safe. The code prior to this patchset permitted a race in the server connection case. The rx_connection channel assignment in rxi_ReceivePacket() and the call destruction in rxi_FreeCall() and rxi_DestroyConnectionNoLock() did not consistently protect the rx_connection channel array using the conn_call_lock. This race could result in rxi_ReceivePacket() operating on a rx_call which was disconnected from the previously assigned rx_connection. In addition, the code in rxi_ReceivePacket() that was intended to protect the allocation of a call using rxi_NewCall() to the connection channel array was racy with itself. This patchset consistently applies the conn_call_lock to protect the allocation / deallocation of calls to the connection channel array and in the process simplifies the logic in rxi_ReceivePacket() as it is no longer necessary to protect against a null call pointer since the race can no longer be lost. (cherry picked from commit 99b43273c0203881ea3d2d50f0abf000cdc0b03e) Reviewed-on: http://gerrit.openafs.org/4963 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: I90ad0dc1f67df2bcaca1da0bb459e730541876cb Reviewed-on: http://gerrit.openafs.org/4981 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0d344bfd855c0522437328da630de1301ecc51ee Author: Antoine Verheijen Date: Fri Jul 8 11:13:59 2011 -0600 OpenBSD: Add header for On OpenBSD, the header requires the TAILQ_* macros which are defined in . The latter is not automatically included by . This patch makes sure that it is available by putting it into the OpenBSD-specific param.h files (so as not to impact any other OS). Reviewed-on: http://gerrit.openafs.org/4956 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 3559e5c8edd90ffb17e8f3b722ff014654bae336) Change-Id: I75103e0fb327fec91ae00647598450a30cc2cf23 Reviewed-on: http://gerrit.openafs.org/4980 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 918e8c6098a5726f6713cc3ac2a1fc759e1ea36d Author: Ken Dreyer Date: Thu Jul 7 10:39:10 2011 -0400 Red Hat: use repoquery to find kernels in build script Remove the custom yum Python code in favor of repoquery. Reviewed-on: http://gerrit.openafs.org/4926 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 1accef4e77c8cad518d728d15fbd194bebd49f33) Change-Id: Ie68a006852d1564fa2da226a006a4e137d7cd5ed Reviewed-on: http://gerrit.openafs.org/4979 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 15e3089f89ae5ef3b1cb59074ed335a984918bd7 Author: Jeffrey Altman Date: Mon Jul 11 23:49:58 2011 +0100 Windows: always open dscp in smb_ReceiveNTTranCreate There were two code paths in smb_ReceiveNTTranCreate that included asserts in case the directory cm_scache_t object had not been evaluated. RT129299 contains a report that at least one of them had been tripped in production. There is no reason to avoid evaluating the directory scp. It must exist in the cache and obtaining a reference in all cases simplifies the logic of this overly complex function. FIXES 129299 Reviewed-on: http://gerrit.openafs.org/4967 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 27af8b4b537236d8c678465d034721dd220641c8) Change-Id: Id4abbc179fc1410b3d45bfc9c69814f683ebcb57 Reviewed-on: http://gerrit.openafs.org/4977 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c90d67f02452ed1811a93c3f82b002d7d2a18737 Author: Michael Meffie Date: Tue Jul 12 08:15:31 2011 -0400 salvager: check namei linktable header magic Recreate the namei linktable file if the header magic is bad. Reviewed-on: http://gerrit.openafs.org/4968 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 82e772bed034ea278e7a7a1b4422d75cc14576dd) Change-Id: I7c8b25da015e028f0a642bbfcf7d0d28bbcc16dd Reviewed-on: http://gerrit.openafs.org/4976 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 96f7d4d3e6ba75d40e7b47acb728a8dbef8c1a01 Author: Jeffrey Altman Date: Sat Jul 9 15:29:05 2011 +0100 windows: include cmp_Cmd_Ref_3_en_US component when building installers actually include the html 3 man pages Reviewed-on: http://gerrit.openafs.org/4961 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 88b4e2e52799cfa5999cbc22873407ec8b77766a) Change-Id: I40aacc81c43ec2d142886c9ce11a684c910c37b2 Reviewed-on: http://gerrit.openafs.org/4962 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c49b446ca51f7cef1ae0f04ec475eca6efe367da Author: Jeffrey Altman Date: Fri Jul 8 15:27:22 2011 -0400 Windows: out of order lock smb v3 locking Do not obtain the smb_rctLock after holding the cm_scache_t->rw lock. At most one hold is required in case of lock failure. Obtain it as the start of processing and drop it at the end if not required. Reviewed-on: http://gerrit.openafs.org/4955 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit da6c97678f530ca76334613e229337a75f94e297) Change-Id: I6b530366c74fd45ba585fd7af4615a1dc96ac055 Reviewed-on: http://gerrit.openafs.org/4960 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 188c7508f5c57418a758f82edb602813feedccbb Author: Jeffrey Altman Date: Wed Jul 6 18:37:02 2011 -0400 Windows: Improve logging for StoreMini and cm_BufWrite Add trace logging to cm_StoreMini which never had it before. Improve the logging of cm_BufWrite by adding the trucPos value which is the new length of the file that is being reported to the file server. Remove cm_buf_t data references when cm_BufWrite is performing operations using rx_Writev and iovec structures. Reviewed-on: http://gerrit.openafs.org/4924 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 21854e03eb6fe70a70ea5fecde5c4ef8074e28c9) Change-Id: I3bd5d7d834ddfa11044cf3f44af108f0554096b6 Reviewed-on: http://gerrit.openafs.org/4953 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 4973720540a280c2f804c01a1e335dea6e18179e Author: Jeffrey Altman Date: Wed Jul 6 18:34:05 2011 -0400 Windows: Refactor cm_Unlock*() to avoid code duplication cm_Unlock() and cm_UnlockByKey() duplicate a significant amount of code. Refactor it into a new static function, cm_IntUnlock() which handles the process of downgrading or releasing a file server lock depending upon the lock state of the cm_scache_t object. Reviewed-on: http://gerrit.openafs.org/4923 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 1ac219f537f75ac5835f750d4c9e5f4dc684c2de) Change-Id: I4dc2a37557e3370f711f6a11743f39df6344676b Reviewed-on: http://gerrit.openafs.org/4952 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 31811fba7fe060da18efe19f885bb1dec5bcbd44 Author: Jeffrey Altman Date: Wed Jul 6 18:19:31 2011 -0400 Windows: Do not probe new servers from cm_UpdateVolumeLocation cm_NewServer() can result in a call to cm_UpdateVolumeLocation() if a server probe is performed. In order to avoid recursive calls to cm_UpdateVolumeLocation() do not probe new servers from within cm_UpdateVolumeLocation(). Reviewed-on: http://gerrit.openafs.org/4922 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 1a56229910a67cc782959beb45f56d244d6b3c4f) Change-Id: Iaf41b1c6c1aa84791a02451533be0e66aaf85fd1 Reviewed-on: http://gerrit.openafs.org/4951 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit baaf9beb35fc5edaaf524a172a755e70d50ef140 Author: Andrew Deason Date: Fri Jul 1 16:58:06 2011 -0500 vol: Don't always FDH_REALLYCLOSE on linktable ops If we dec a linktable entry or get a free tag from the link table, there is no reason to FDH_REALLYCLOSE the linktable fd handle. FDH_REALLYCLOSE is the same as FDH_CLOSE, except that it tells the ihandle package that the file handle will not be used again soon. If we dec a linktable entry or get a free tag, there is no reason to think that, so just FDH_CLOSE the handle instead. Reviewed-on: http://gerrit.openafs.org/4903 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 78e39417af6d2b87f0cbda0b5d3bb3e4859dc0ba) Change-Id: I28f5abee59265403362f3f1472a9fa21a52597c0 Reviewed-on: http://gerrit.openafs.org/4949 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9a2890c4a4b3bf359bd759ef26139d20045b87eb Author: Andrew Deason Date: Fri Jul 1 14:25:05 2011 -0500 DAFS: Do not clear salv state on fssync salvage When a volume is put into an error state via the FSYNC_VOL_FORCE_ERROR command, we clear the salvage state informaton on it, since we're forcing it offline and thus inaccessible. However, if we are forcing it to an error state because the volume needs salvaging, we just salvage it. In this case, do not clear the salvage state, since we need to know if we've already requested or scheduled a salvage so we can correctly keep track of the number of salvages performed. Reviewed-on: http://gerrit.openafs.org/4900 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 1ecac71e50e75ce5a45e297d57c480e850975af7) Change-Id: I313f4c4093f3b4f5ee501ef7537d05b557946a70 Reviewed-on: http://gerrit.openafs.org/4948 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 954442e207d8a05d2f26992ff966b56f7af41e1e Author: Andrew Deason Date: Wed Jun 29 13:51:22 2011 -0500 SOLARIS: Granular multiPage detection Currently, a struct vcache has a multiPage counter, indicating how many afs_getpage requests are in-flight for that vcache that involve retrieving multiple pages. Any dcache associated with such vcaches are then avoided when choosing dcache entries to evict from the cache, since we may deadlock when trying to evict a dcache entry from one of the earlier afs_GetOnePage calls in a particular afs_getpage request. This behavior can cause the client to become unusable if the cache becomes full, and the only items in the cache are dcache entries in a file that has an in-flight multi-page afs_getpage request. Since, in that case, we cannot kick out any entries from the cache, and so we wait forever to wait for the cache utilization to go down. To prevent this from occurring, record exactly which ranges in the file have in-flight multi-page afs_getpage requests, and just avoid dcache entries in those ranges. This way afs_GetDownD can evict dcache entries in the same file, but still avoid entries that would cause a deadlock. Also add some comments explaining this situation a bit more. Change-Id: Idd39fd4811ea03aa7eee62f85f1a0c74c9c5e402 Reviewed-on: http://gerrit.openafs.org/4896 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 31a001f60e5fe729b315f679d1d43b367bd74ea5) Reviewed-on: http://gerrit.openafs.org/4927 Tested-by: Derrick Brashear commit 42f8c24972976bc9bad46d3d97251be2a43ed458 Author: Jeffrey Altman Date: Thu Sep 30 10:48:58 2010 -0400 Revert "Rx: When call receive is done, send ack all packet" This reverts commit 3cd3715e608b801b4848399e42cb47464e6e3cc3, which replaces an ack with an ackall; ackall processing does not actually mark all packets acked when it is received, so it is insufficient. Reviewed-on: http://gerrit.openafs.org/4837 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 358099b21c5c888c02bf3754702ae623378c507d) Change-Id: I7accb0e176c6143d87bb7809ead7ced63b9d86dd Reviewed-on: http://gerrit.openafs.org/4946 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eb2d0d9d48f2f1e372ad438ad6ed0cb6516dbcc8 Author: Andrew Deason Date: Tue Jun 21 16:25:14 2011 -0500 DAFS: Do not attach a specialStatus'd vol If we encounter a preattached volume during GetVolume, we currently ignore vp->specialStatus before trying to attach. However, we will generally always fail to attach due to a conflicting vol op, but even if we don't, GetVolume always returns an error later on if vp->specialStatus is set. So, same some processing and attempted attachments by bailing out sooner if vp->specialStatus is set. Reviewed-on: http://gerrit.openafs.org/4874 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit f5349051abebd15fc2f2d77ff5b6dc81e09bdf47) Change-Id: I3593a50b5867c671fe462abd40b50dcbbd2c5204 Reviewed-on: http://gerrit.openafs.org/4945 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d55f70792e98e01b3540cdcfad6751a05bf9e645 Author: Andrew Deason Date: Tue Jun 21 18:08:21 2011 -0500 salvager: Clear summary in RecordHeader Not every field in the summary header in RecordHeader is set, leaving some used uninitialized when we copy to the given volumeSummaryp (like 'deleted'). Zero out the header before we do anything. Reviewed-on: http://gerrit.openafs.org/4876 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 926ce3d35018050bdbe8e00011884954d6b0fd80) Change-Id: Ia617153da8762394659b7c7816e6f3d24af6c4d2 Reviewed-on: http://gerrit.openafs.org/4944 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ae81606a284e2144f32bd55cbdba104c00d54d93 Author: Andrew Deason Date: Tue Jun 21 17:51:32 2011 -0500 Build a separate copy of vlib for dasalvager Currently dasalvager links to vlib.a. But vlib.a is built without any DAFS defines, and so the size of a struct DiskPartition64 is different (since dasalvager is built with AFS_DEMAND_ATTACH_UTIL). Build our own copies of the volume package files instead, with AFS_DEMAND_ATTACH_UTIL defined. (cherry picked from commit f2d067b4e48500004236b181dd5a25454f352daf) Reviewed-on: http://gerrit.openafs.org/4875 Reviewed-by: Derrick Brashear Tested-by: BuildBot Change-Id: Id65a30ced198853bc6c376153671def71dd600d1 Reviewed-on: http://gerrit.openafs.org/4943 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8265c8652e00d0a0b579bd48efeff4d60872e17f Author: Andrew Deason Date: Tue Jun 21 14:58:42 2011 -0500 vol: Do not overwrite specialStatus in attach2 attach2 wants to set specialStatus to VBUSY in certain conditions (such as, it discovers a conflicting vol op where VVolOpSetVBusy_r is true). However, specialStatus may already be set to something else, like VMOVED if the volume is being moved off of the server. This can happen if the volserver has checked out and FSYNC_VOL_MOVE'd a preattached volume but hasn't deleted or checked the volume back in yet. So, if specialStatus is already set, don't touch it, so we don't start reporting VBUSY errors to clients when we should be reporting VMOVED, or some other error code previously set. Reviewed-on: http://gerrit.openafs.org/4873 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 25688bc2e7e8da83b4bf22d7cdc3e0214eadc455) Change-Id: I4316be912a5a30856914059984f45782bece0cdd Reviewed-on: http://gerrit.openafs.org/4942 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 45b4d17f7b38031afbb434c08ed46e4a26df9ba0 Author: Simon Wilkinson Date: Sat Jun 18 15:50:08 2011 +0100 rx: Exit fast restart on non-duplicate ACK The current code only exits fast restart when we receive an ACK packet that contains no missing chunks at all. On a network that is dropping a reasonable chunk of its packets, this means that we spend most of the call in fast recovery. (I originally found this by running with the intentionally drop packets feature set to 10%) TCP's fast retransmit behaviour is that we stay in fast recovery until we receive our first non-duplicate acknowledgement. In TCP that means an acknowledgement that moves the window. In RX, it is an acknowledgment that ACKs a new packet. Reviewed-on: http://gerrit.openafs.org/4869 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit 6b833f575743d4a826750bb6913cd53232a8867f) Change-Id: I51b4de1146df032ff6e1273d8c832bded770e177 Reviewed-on: http://gerrit.openafs.org/4941 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a4dab852e67c6a9bc720f5d5a5ecb815a70ca83 Author: Simon Wilkinson Date: Sat Jun 18 13:17:07 2011 +0100 rx: Don't limit the # of packets sent in recovery The RX transmit engine limits the number of packets sent whilst in loss recovery to one per invocation of the transmit engine. As the engine cannot be called by the application thread whilst in recovery, this means that we end up being limited to one packet per ACK received, which means that despite a growing congestion window we'll only send one packet per RTT (in effect, a congenstion window of 1). This will remain the case until we exit recovery, and all of a sudden can send a large number of packets. If this is larger than the current capacity of the network, we'll probably end straight back in recovery again. Let the congestion window do its job, by removing this arbitrary limit. Reviewed-on: http://gerrit.openafs.org/4868 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit 91b351e88bdb56bfdfc2f5f16f64bb7522796581) Change-Id: I673980bdee6d1316cb363f12d32c96fb2577cb27 Reviewed-on: http://gerrit.openafs.org/4940 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c4e359b69a9f5e8a21cc06f7338595404d290cd2 Author: Simon Wilkinson Date: Sat Jun 18 13:01:35 2011 +0100 rx: Don't wait for TQ busy when entering recovery Two different threads can cause a call to enter recovery. The event thread will move a call into recovery as a result of a timeout, or the listener thread will move it there following a fast retransmit. In both of these cases, recovery looks different. In the case of a timeout, we enter slow start, starting as if we were begininning transmission for the first time. Following fast retransmit, we enter fast recovery, with different starting parameters than those coming from slow start. As a reslt, the current behaviour, where either call sitting in FAST_RECOVERY_WAIT causes the other to simply return is inappropriate. Further investigation indiciates that FAST_RECOVER_WAIT is actually uncessary. There is no harm caused to a thread which is currently blocked on the network in the middle of a transmit, in adjusting the window size underneath it. As both of these states collapse the window, that thread will simply cease sending earlier. So, simplify the code, and remove the potential race between event and listener by removing the FAST_RECOVER_WAIT state. Reviewed-on: http://gerrit.openafs.org/4867 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit 0b9c9e9973e8d32cdfe1fc884fb2c310cedc0404) Change-Id: I47525eb4cf0bb6d049094c7f98f8cc79be9ef51e Reviewed-on: http://gerrit.openafs.org/4939 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 99e38c5d4011793f367eb23030340c4caa15e60f Author: Simon Wilkinson Date: Sat Jun 18 12:43:44 2011 +0100 rx: Enter loss recovery when we retransmit Since I mistakenly wrote commit 36e2d13b, RX hasn't entered congestion avoidance when a loss event occurs. This is bad, because on todays networks the majority of packet losses are due to some form of congestion. Now that the timeout code has been restructured, the chances of entering the retransmit routine in error are much much smaller, so this code needs to be restored. This change reverts 36e2d13b55085c996d38b30d003296c602ef8ee3. However, the original RX code has the problem that it assumes that all forms of fast recovery are the same - in particular, that the call settings that result from entering fast recovery due to a fast retransmit are identical to those resulting from a timeout. This is not the case, and this will be fixed in a later change. Reviewed-on: http://gerrit.openafs.org/4866 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit e8c4fc4f37912a5d30694caef45d27374e9201e7) Change-Id: I5ee6aa255a0b923f445dde2f1e9f0abf98dbe623 Reviewed-on: http://gerrit.openafs.org/4938 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1adddaf9643a3572de22e73e95f2a6c29b4636d5 Author: Simon Wilkinson Date: Sat Jun 18 11:58:57 2011 +0100 rx: Add Karn-style backoffs to RX retransmits When we retransmit a packet, we may be doing so because the RTT of the connection has grown dramatically larger than earlier within the call. However, RX doesn't permit all ACKs to retransmitted packets to be counted within the RTT calculation. So, adopt the same approach as Karn developed for TCP, and as described in detail in RFC2988. When a retransmit event occurs, backoff the connection RTT by doubling its value, and hold at this doubled value until either another retransmit occurs (in which case we back off again, up to a predetermined ceiling), or we receive an ACK packet which we can use within the RTT calculation, in which case we drop back down to the newly measured value. This change replaces the per-packet backoff strategy originally implemented in RX (which, whilst allowing resent packets more chance of arriving, doesn't help with computing a correct RTT). Reviewed-on: http://gerrit.openafs.org/4865 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit 0118fb5387e656e515d78d48497a48f1e04a1152) Change-Id: I697eac14f9b4be5c8726f0386e516cb49995f665 Reviewed-on: http://gerrit.openafs.org/4937 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8cc356cb64831a9aa860f53ec8ad4c20951af934 Author: Simon Wilkinson Date: Sat Jun 18 11:48:45 2011 +0100 rx: Make clock_Add correctly add to itself With the existing clock_Add code, the following: struct clock a = {2, 800000}; clock_Add(&a, &a); gives a clock value of {6, 600000}, rather than the expected {5, 60000}. This is because the ordering of instructions leads it to double count the carry on the seconds field. Reorder the instructions so that the carry is correctly applied. Reviewed-on: http://gerrit.openafs.org/4864 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 784babbea1247660f39463403233589a74c6e73b) Change-Id: I1e97e9734d04f898dabad59a88afc929d8888e90 Reviewed-on: http://gerrit.openafs.org/4936 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1b28e72a4335c15cebf3f422a20b29a7049d7a4a Author: Simon Wilkinson Date: Sat Jun 18 11:35:30 2011 +0100 rx: Remove resending logic into its own function Create a new function, rxi_Resend, which is the entry point to running the transmit queue as a result of a resend event. This concentrates all of the resend logic into one place, removes the need for rxi_StartUnlocked, and means that rxi_Start's arguments don't need to match those of an event handler. (cherry picked from commit 280c80152522f32cf34deae96696b1db8aaaa9bb) Reviewed-on: http://gerrit.openafs.org/4863 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: Ia8b28be53d7c37fbfd877364930d7dc4a4d52e37 Reviewed-on: http://gerrit.openafs.org/4935 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b62c76954383b2b1f6e8d55f0abcfa6ad97f8980 Author: Simon Wilkinson Date: Mon Oct 25 10:14:12 2010 +0100 rx: Don't let timeouts force fast recovery The current RX implementation goes into fast recovery whenever a timeout occurs. This is incredibly wasteful, particularly on fast connections. So, remove this in favour of TCP style behaviour. (cherry picked from commit 36e2d13b55085c996d38b30d003296c602ef8ee3) Reviewed-on: http://gerrit.openafs.org/3138 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: I5b5b154d78183621c160537172d7c0a3789114e6 Reviewed-on: http://gerrit.openafs.org/4934 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7ab4ddaf5583aeacac6be0761b1d52ed1287936b Author: Derrick Brashear Date: Thu Jul 7 16:56:28 2011 -0400 rx: complete fix for starting rexmit timers 1.6-only change. the pullup of e7066a9c30047e787d72f02dd1c28e5e473e494b (as dab406baf28c19710b4a451ae2516dfa1ebeee29) missed this because the code in 1.6 was structured differently at the time. Change-Id: I38e9db1dcc681ae4eecc0f3abd634052b9f93ca0 Reviewed-on: http://gerrit.openafs.org/4933 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 42b252945288024088a7f791f51a1c3a95adbf74 Author: Simon Wilkinson Date: Sat Nov 6 15:18:14 2010 -0400 RX: rxi_PrepareSendPacket drops call lock; WaitforTQ required Since rxi_PrepareSendPacket drops the call->lock during processing the caller must perform a rxi_WaitforTQ prior to manipulating the transmit queue. Reviewed-on: http://gerrit.openafs.org/3279 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit cb7a5ce44470112d3ba5e341322bb9e7d029e101) Change-Id: I17a863d46f65fca904a22abccb849c8a8c0997ee Reviewed-on: http://gerrit.openafs.org/4932 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aaec3e262bd05017e57ded42309e19e9c200967c Author: Simon Wilkinson Date: Mon Oct 25 09:16:09 2010 +0100 rx: Fix resend accounting rxi_Start flagged itself as 'resending' whenever it flushed the transmit queue due to a resend event. However, it would flush the entire transmit queue at this point, rather than only transmitting packets that require a resend. When running with large window sizes this results an a large number of packets erroneously being marked as resent. Instead, let SendXmitList decide whether a packet is being retransmitted by using the presence of a serial number. This takes advantage of the fact that a retransmitted packet must be the only entry in a packet list - we just flag the packet list, instead of having to maintain counters for each individual packet. (cherry picked from commit e84193ca2a9cef5a13403d291435eb5ad47f5b41) Reviewed-on: http://gerrit.openafs.org/3135 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: I1c8da9639b9739bf88a925b7af98c25b3eaeda8c Reviewed-on: http://gerrit.openafs.org/4931 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ef78554c5d07dd13b83be5d706483094e907b207 Author: Simon Wilkinson Date: Fri Nov 5 00:23:23 2010 +0000 rx: Don't maintain maxSerial There were no users within the code of the rx connection maxSerial element, and maintaining it required locking on a critical path. So, get rid of it. Reviewed-on: http://gerrit.openafs.org/4797 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 6a22a2f4b7aa0d960cea17b419003986f6184d58) Change-Id: I465e73b7cc7c57b384cd2652bbc8825a898b8bbc Reviewed-on: http://gerrit.openafs.org/4930 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a88e9a249e7fb2a3334ada72d0cc9f263afc6d60 Author: Jeffrey Altman Date: Tue Oct 12 10:53:43 2010 -0400 Rx: Consolidate wait for tq busy and make its use uniform rxi_WaitforTQBusy() is now used wherever a wait for the transmit queue is required. It returns either when the transmit queue is no longer busy or when the call enters an error state. Having made this change it is clear that call->currentPacket is not always validated when the call->lock is reacquired which may be true when rxi_WaitforTQBusy() is called. (cherry picked from commit e45abc6cc20236b9e91c23cb6f8e90f51b6a4a99) Reviewed-on: http://gerrit.openafs.org/2966 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Change-Id: I3492d351581549872b8332a626dae344757c6a6e Reviewed-on: http://gerrit.openafs.org/4929 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ae15c93f0dc2c73908676687f5f1a82abd1b2c64 Author: Jeff Blaine Date: Tue Jun 28 22:58:29 2011 -0400 Change wiki ref to wiki.openafs.org from stanford.edu Change wiki ref to wiki.openafs.org from stanford.edu Reviewed-on: http://gerrit.openafs.org/4897 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a4e3c3be697bb99ee4846c99550cd2b52929cdca) Change-Id: I7d1da2d26eb8cb9f1f7c231ec70b8f9486c0d146 Reviewed-on: http://gerrit.openafs.org/4947 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a7716cf6d253b67e342c6b055497c2076622cd12 Author: Simon Wilkinson Date: Sat Jun 18 10:46:53 2011 +0100 rx: Change the way that the RTT timer is applied RX maintains a retryTime for every packet that it has transmitted, which is held as the time that that packet was sent, plus the smoothed RTT of the connection. If a packet is in the queue with a retryTime older than the current time, then it is resent at the first opportunity. In some circumstances, this first opportunity will be as a result of the resend event timer expiring, in others it will happen as part of a normal queue run. There are a number of problems with this approach on congested networks. Firstly, on a network with a large window size, which is in "normal" flow, it means that we will never actually perform fast retransmit as the timeout for this packet will have expired before we have received any further ACKs. This is because, on a network with a relatively stable RTT the ACK for packet n+1, n+2, or n+3 cannot arrive before the expected time of arrival of the ACK for packet n. As we retry immediately this expected time of arrival has passed, we never have the opportunity of using these later ACKs to learn that packet n is lost. Secondly, the fact that we may resend packets from a "normal" queue run, rather than as a result of a resend event, means that there is no clear entry point for resends. As resends should be assumed to be a result of network congestion, and result in both the call throttling back, and the RTT being increased, this lack of a clean entry point makes things tricky. As a solution, this patch changes the way in which retransmit times are applied to use the algorithm described in RFC2988. *) Whenever we send a new packet, we start a timer for the current call rto value if one isn't already running. *) Whenever we receive an ACK that acknowledges new data, and we have packets that are sent but not yet acknowledged, we restart the retransmit timer using the current rto value. This alogrithm solves the first problem, as it means that if the connection is still flowing, we will continue to receive ACKs, and we can enter fast retransmit. In implementation terms, we longer track a retryTime per packet, and instead simply record if a packet has been sent or not. Packets which have been sent may only be resent as a result of a resend timer expiring, or of entering fast retransmit, so solving the second issue. (cherry picked from commit a80a88e8ba7ac5e2afc5188add482f4e5323128e) Reviewed-on: http://gerrit.openafs.org/4862 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: BuildBot Change-Id: I023c9b52b104f8930f8d0dd628612cec2226fee0 Reviewed-on: http://gerrit.openafs.org/4918 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 80ba47c54e4aed4cd4b4407c800984b537526fc4 Author: Simon Wilkinson Date: Mon Oct 25 09:06:53 2010 +0100 rx: Use a structure for the xmit list Switch to using a structure to hold the xmit list so that it's a little bit clearer what the rxi_SendXmitList function is actually doing (cherry picked from commit ad3b5997c6da17927312f4618d8bb4f7fc542a64) Reviewed-on: http://gerrit.openafs.org/3134 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: I6534f5c40e890af916752bf2647a14f9c386e004 Reviewed-on: http://gerrit.openafs.org/4917 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit e8801635a41f83bc6bb438a2f33807d7ffeb6430 Author: Simon Wilkinson Date: Fri Jun 17 22:06:54 2011 +0100 rx: Compute smoothed RTT per call, not per peer. RX uses the TCP RTT smoothing algorithm as described in RFC2988. However, the TCP algorithm is designed to accept samples from a single connection, accepting a new sample once per RTT. RFC2988 suggests that "when multiple samples are taken per RTT the [ alogrithm ] may keep an inadequate RTT history." In RX's implementation, we use a single instance of this alogrithm per peer, and input all of the samples from all of the active calls and connections into this same instance. This leads to us taking a significantly (potentially many magnitudes) larger number of samples per RTT, and rapidly losing the RTT history. With RX's implementation, short lived network events may easily bias the RTT, and cause large numbers of packets to time out. This change fixes this by moving the RTT calculation onto a per call basis. We still update the peer with our caclulated value, so that new calls may be created with an RTT corresponding to the current value for the connection, rather than having to start high and converge downwards. (cherry picked from commit 39484c6e57cf993a713b4a989d1c0c227e6f496c) Reviewed-on: http://gerrit.openafs.org/4861 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I5b33323ceed7231bd70e43284d83dfe1db144188 Reviewed-on: http://gerrit.openafs.org/4916 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit db22ac6d19f88e0ad5aec88ee58b236f3bcc3fbc Author: Simon Wilkinson Date: Sun Jun 5 11:04:12 2011 +0100 rx: Reorganise transmit queue walk The transmit queue is stored in the order that we transmitted the packets (by sequence number). This means that we can do all of the ACK processing by just doing a single walk of this queue, rather than having to walk the queue multiple times, once for each type of ACK. This clarifies the queue processing, and should reduce the amount of time that we spending iterating large transmit queues. (cherry picked from commit fe7d38f3205bd879e961f5849ed64df5b495388a) Reviewed-on: http://gerrit.openafs.org/4796 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Change-Id: I85dd1d1706227599a48c7f75ca1947af0b5184bf Reviewed-on: http://gerrit.openafs.org/4915 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 25ae5591f92bdd022712bc4729620dc384272fcd Author: Jeffrey Altman Date: Sun Jun 5 18:41:24 2011 -0400 rx: Add RX_CALL_ACKALL_SENT flag and rxi_SendAck processing 3cd3715e608b801b4848399e42cb47464e6e3cc3 modified rxi_ReceiveDataPacket to send an ACKALL whenever RX_CALL_RECEIVE_DONE is set on the call. This produced the potential for a race with ACKs that set the firstPacket value to 'rnext' when the receive queue for the call has yet to be emptied. From the perspective of receiver the ACK was already processed and does not require a response since the previously received ACKALL acknowledged the delivery of all data packets to the application. When sending ACKs after ACKALL it is therefore required that firstPacket be set to the sequence number after the last unprocessed packet in the receive queue. Thanks to Simon Wilkinson for his extensive assistance in identifying the problem and the development of this patchset. Reviewed-on: http://gerrit.openafs.org/4798 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit cd326b2f54c3397468807c32ce0834f73c9d5d1b) Change-Id: Ic4fa021eb33462ddf759ce0d7a8845edf1ecbed5 Reviewed-on: http://gerrit.openafs.org/4914 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 587cc8652bab48da7282f49bedf2eff8ea1cc88e Author: Jeffrey Altman Date: Sun Jun 5 16:02:46 2011 -0400 rx: do not rxi_AckAll for one data packet call rxi_ReceiveDataPacket() calls rxi_AckAll() when the call reaches the RX_CALL_RECEIVE_DONE state to permit the caller to empty the transmit queue. That reduces the memory consumption of the caller and avoids unnecessary retransmits which the call is in process. If the call data consists of a single packet it is possible that Ping ACK packets sent as part of connection establishment could race with the ACKALL and be delivered out of order. If the Ping ACK is delivered second, it will be ignored by the peer forcing a two second delay in connection establishment. To avoid the race do not send an ACKALL for a single packet call. Reviewed-on: http://gerrit.openafs.org/4799 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit ff30293624a7e31d585b9e8f2e1a439cf87b6524) Change-Id: Ic64917c40aa29f9e99c434ab2f9ba2e4abc38883 Reviewed-on: http://gerrit.openafs.org/4913 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 8103a9a0e92d937c187515db5a0d57fff5a50df0 Author: Simon Wilkinson Date: Sat May 14 08:55:50 2011 +0100 rx: Reverse the consumption order of idle queue Currently, the rx server thread idle queue is used in an LRU manner. This means that we round robin requests between all of the threads configured on a given system, which means that we end up thrashing CPU caches on machines whose workload doesn't require that all of the configured threads be used. Change this so that we always use the most recently idle thread. This isn't as "fair" to all of our waiting threads, but should mean that we scale better on SMP machines, as a thread that is recently idle is likely to have been recently scheduled. Performance numbers to follow ... Reviewed-on: http://gerrit.openafs.org/4871 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 5614305853f0f87a2418a6fb7ca472a8ef966084) Change-Id: I6b961a470adfe053ecd85af05821e42898fd7847 Reviewed-on: http://gerrit.openafs.org/4912 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit cbd4ef0161c20de025cadba98bcc78f63b76de2c Author: Simon Wilkinson Date: Fri Jun 17 20:35:59 2011 +0100 rx: Remove incorrect backoff code The ACK packet handling routine contains code which causes the RTT to backoff if the selective ACK response indicates that there is a missing packet. The comment justifies this code as being in line with Phil Karn's work on TCP. However, the TCP behaviour is that we backoff when we enter resend. Both TCP and RX have difficulty computing RTTs for resent packets due to the ambiguous ACK problem. Whilst RX is slightly better than TCP in this regard, we can't always tell whether an ACK refers to the original, or resent packet, so resent packets are unable to contribute to the RTT. This means that if the RTT ends up too low for the connection, and we start resending every packet, the RTT will never grow to account for this, as we never feed it any packet samples. Karn's solution to this was to backoff (double) the RTT value when we resend a packet, and then to not drop it back down until we receive an ACK that we can count. This means that we will always get a new sample for the connection, and the RTT will grow again. The original author confirms that the current behaviour in RX is incorrect, so simply remove it with this patchset. Reviewed-on: http://gerrit.openafs.org/4860 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit b65944973a24e9365dc1ff118ded4c3a1e25f782) Change-Id: I4d2766d98883dad4f27ff4c52e2a03a49733f89f Reviewed-on: http://gerrit.openafs.org/4911 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d5d9e67a9f6c9d3cc13ebca1829f6c348f26cfd5 Author: Simon Wilkinson Date: Fri Jun 17 19:38:29 2011 +0100 rx: Account for delayed ACKS when computing RTO RX currently only soft ACKs every second packet, therefore a soft ACK may be delayed by a period of time (currently 100ms, although RX did expose this as a public variable in earlier versions). RTT values are computed using only non-delayed ACKs, so the timeout is a smoothed average of the exact time taken to send and directly ACK a packet. Therefore, if the peer ends up using a delayed ACK for the packet, using just the RTT will cause that packet to be timed out. A while ago, this was dealt with by padding the calculated RTT with an additional 350ms. This was then removed, and changed to a 350ms minimum value. When this caused large numbers of spurious resends, the padding was restored, but with a 20ms default value. As noted above, 20ms is too low, as we may wait for up to 100ms before sending an ACK. This patch changes minPeerTimeout so that it does what it says on the tin - sets a minimum value below which the peer timout may not fall. It then adds to either this value, or the calculated one, 200ms of padding. This makes our padding identical to TCPs, and allows some future leway as to the softAckDelay value. Reviewed-on: http://gerrit.openafs.org/4859 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 699330682f3cb001bf1bfbeaffd806600ccf69e8) Change-Id: Ibe06f46c9ac846fb0381c467242e5c3b439c8907 Reviewed-on: http://gerrit.openafs.org/4910 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f1174887c3bda7d1d5fa4a305e27db493fa15720 Author: Simon Wilkinson Date: Fri Jun 17 19:12:09 2011 +0100 rx: Make rx_softAckDelay & rx_lastAckDelay private The values of these two parameters directly affect the modifiers that are needed in the peer's RTT calculations, and so can not arbitrarily be changed by applications. lastAckDelay has been 400ms since the first OpenAFS release, and that value is used as a modifier when computing the timeout of the last packet. It is likely that any change which made this value longer than 400ms would have detrimental effects on deployed clients softAckDelay has been 100ms for a similar time period. We have chopped and changed the value of minPeerTimeout, so it is unclear what the maximal value for this parameter is. For much of OpenAFS's life, minPeerTimeout was a 350ms padding value, which suggests that copying TCP, and setting the maximal value at 200ms would be a safe option. For now, however, leave it at 100ms to avoid unexpected side effects. hardAckDelay is not addressed by this patch set, as all ACK packets sent from the application thread are marked as delayed, and so currently have no part in computing RTT times. It is likely, however, that any changes to the hard ACK timeout should be very carefully considered. Reviewed-on: http://gerrit.openafs.org/4858 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit c0cfbc40c8ef3de65f144560918cbd2a5bf187ec) Change-Id: I7976d8d11007c0f597ede707db7cbb617956bd29 Reviewed-on: http://gerrit.openafs.org/4909 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4e31c66cb4888ab83fe5170386015067385a9dc6 Author: Jeff Blaine Date: Fri Jun 17 20:35:17 2011 -0400 Documented vos restore -creation and -lastupdate Culled info from commit 21592fe6 by Kris Hees. These allow one to specify how to set the creation date and last update date at volume restore. Reviewed-on: http://gerrit.openafs.org/4852 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 800a5642a0b9ff514519b4af30b4d0dadd471480) Change-Id: Ib0d71a34242cdc42753518a454479bccaac0094a Reviewed-on: http://gerrit.openafs.org/4908 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 2b70e2508e7c7d6568685a6549f28233b15367f6 Author: Anders Kaseorg Date: Tue Jun 14 15:24:42 2011 -0400 Treat Linux 3 as Linux 2.6 Linux 3.0 is just a rebranded Linux 2.6.40, so we can use the same sysname and the same code. Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/4843 Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Tested-by: BuildBot (cherry picked from commit 34bdd979fc487843c26f15655b94eac7c8f98fee) Change-Id: Ibbedc447ea4b2dfa61f06a4b0b87a5bc884f711a Reviewed-on: http://gerrit.openafs.org/4907 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 2b2b647e3299c2dfeb30d2986290e1121d6cb5f3 Author: Jeffrey Altman Date: Mon Jun 27 09:31:54 2011 -0400 Windows: MergeStatus before SyncOpDone cm_SyncOp/cm_SyncOpDone is used to synchronize the RPC processing to ensure that calls which are in conflict cannot occur at the same time but also to ensure that the ordering of operations is consistent. cm_MergeStatus() was in many cases executed after cm_SyncOpDone() removed the synchronization barrier which in turn permitted status information to be applied out of order. Side effects could have included data loss due to client side file truncation. More commonly two StoreData RPCs would have their status information applied out of order forcing the cache manager to invalidate all of the cached data for the file. Reviewed-on: http://gerrit.openafs.org/4891 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry-picked from 51fa590e704c77c0e9ba873ecb854448885030a5) Change-Id: Ic50241081e52b70bf7b6bd7d92df205f7184f7c8 Reviewed-on: http://gerrit.openafs.org/4895 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 6a9324ad733385d39594c770227809333248251b Author: Jeffrey Altman Date: Thu Jun 23 17:51:22 2011 -0400 Windows: TRANS2_FIND_FIRST2 for _._AFS_IOCTL_._ smb_T2SearchDirSingle() must not fail directory search requests for the _._AFS_IOCTL_._ file. Although this file does not actually exist, it is successfully processed by CreateFile operations. Therefore, an explicit search for it should return a valid answer. Reviewed-on: http://gerrit.openafs.org/4884 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry-picked from 9f77a2d6b3d571a928261563763913c8c6ee2938) Change-Id: Iab58557350fa099c903b0c2b555e5cc2027daafc Reviewed-on: http://gerrit.openafs.org/4894 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ded3b45fb00a636fbf5bc8292fa6ed29b27bca4f Author: Jeffrey Altman Date: Thu Jun 23 23:49:32 2011 -0400 Windows: Fix SMB_COM_NEGOTIATE for MS11-043 MS11-043 adds response validation for SMB_COM_NEGOTIATE messages received by the SMB Redirector. OpenAFS failed to properly specify a Challenge and DomainName in the response when the security mode is SMB_AUTH_NONE (or share with password). This patchset corrects smb_ReceiveNegotiate() so that it adheres to the protocol specification. FIXES 130033 Reviewed-on: http://gerrit.openafs.org/4886 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry-picked from 7532b05221caf2c382d9e8c9ca5af4a284566920) Change-Id: I67eb2b293228cacb4df20ac072beaf03f2111c55 Reviewed-on: http://gerrit.openafs.org/4893 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 2265aee592554c0caa270d5988fd7db3e84c212d Author: Jeffrey Altman Date: Wed Jun 8 02:22:41 2011 -0400 Windows: shell extension is multithreaded Since the shell extension is multithreaded and it is possible for more than one thread to be executing in the gui2fs.cpp module at a time, it is not safe to use a single static 'space' buffer by more than one thread at a time. Move the buffer into the stack of each function that uses it so that we have thread safety. Reviewed-on: http://gerrit.openafs.org/4819 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry-picked from 418a70feedb5574d28c3fbe513333b0fb102a3ca) Change-Id: I467c2b8cd00b6b248b3c50270da470cebd4b6a5f Reviewed-on: http://gerrit.openafs.org/4892 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 2c7cad7d1aef1ba202d6e62cfde2a85ae0395304 Author: Ben Kaduk Date: Fri Jun 17 02:44:46 2011 -0400 FBSD: do not install kdump Since it's just an empty file, installing it is rather silly. Reviewed-on: http://gerrit.openafs.org/4849 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 327f516477b3dbf6ed6302c706bbb2bf41ae7907) Change-Id: I904095a9143c0aedc0e96d64793200eca7649934 Reviewed-on: http://gerrit.openafs.org/4853 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ddb9b2257e956e981331c5f1fff55487ce8768c5 Author: Ben Kaduk Date: Tue Mar 29 22:26:50 2011 -0400 Unbreak make dest for FBSD It turns out that we do need an afs.rc.fbsd that is set up for transarc paths in this directory. To get it to work properly will require the user to symlink to it from a dir that gets checked by rcorder, but them's the breaks. Reviewed-on: http://gerrit.openafs.org/4378 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 0b69fd6d5631482a786c2223a7dec0b2c9a07f92) Change-Id: Ifd921019898954414a6d107702786c546d661bd4 Reviewed-on: http://gerrit.openafs.org/4855 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit bbf5cd2bd30ea25b82804436cc09e67fb239e8ac Author: Ken Dreyer Date: Wed Jun 15 14:21:27 2011 -0400 Enable -afsdb in the Red Hat packages. Reviewed-on: http://gerrit.openafs.org/4844 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 0a318b5bb9d0f5940eeffa092f6adae025d560de) Change-Id: I08e117bf25137099b7d550f4ec397ee987ef4ab0 Reviewed-on: http://gerrit.openafs.org/4856 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ec0527e8ca664de233a711f92e998b94672b352a Author: Ben Kaduk Date: Fri Jun 17 02:22:34 2011 -0400 FBSD: do not FlushAllVCaches In normal operation, any AFS vcache with associated data will have an associated vnode, which will be on the list of vnodes associated with the /afs mountpoint. We already call FreeBSD's vflush() in our afs_unmount, which walks the list of vnodes associated with the mountpoint and calls vgonel() on them, which calls VOP_CLOSE and VOP_RECLAIM on the vnode. Our implementation of VOP_RECLAIM already calls FlushVCache, so in normal operation, FlushAllVCaches() will be a no-op. However, in the presence of bugs, it is actively harmful, causing panics. For example, if a vnode has been reclaimed but FlushVCache failed (which we cannot report back since the VFS will panic in this case), and we attempt to flush it again, the associated vnode has already been cleaned up and we will panic. Likewise if our list of vcaches becomes corrupt and has a vcache with bad or missing vnode for some other reason, we will panic. Since there is no gain in normal operation and abnormal operation is more likely to panic than save data, skip the extra flush. Reviewed-on: http://gerrit.openafs.org/4847 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 03a54723eaf23b2aad0d026ba5f1a8e7343b3763) Change-Id: I866fb196f8368362bcd673ffb4908ab21a46c544 Reviewed-on: http://gerrit.openafs.org/4854 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2322d8238a2382d0c84dc1382d7a4370c8096a9b Author: Ben Kaduk Date: Tue Jun 7 11:30:18 2011 -0400 Also install afszcm.cat for i386_fbsd The change gerrit/4760 enabled the use of gencat to actually build this file, but failed to also change installation logic, so it was sitting unused in the build tree. Fix this, and install the file. This allows us to remove a shell case statement which had formerly been needed to enforce this restriction. Reviewed-on: http://gerrit.openafs.org/4815 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 445a8b5461c66160552136214a1d8d97de15967e) Change-Id: Ic39fecb824be58a8890c665dedcd1eff2b4f9bdc Reviewed-on: http://gerrit.openafs.org/4848 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f9930accfd196d212ceba895762ee9673faf4066 Author: Chas Williams (CONTRACTOR) Date: Thu Jun 2 19:00:47 2011 -0400 doc: let configure find the XML tools if possible configure should attempt to find the XML tools we need to process the documentation. if it can't, it should provide a safe default. still allow the user to override via command line. Reviewed-on: http://gerrit.openafs.org/4766 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit cc2bc3e17ff5f7a10c515e309f8fec47a6fa14b6) Change-Id: I4773affa193b5210da6416dd8b4321bd3f471429 Reviewed-on: http://gerrit.openafs.org/4794 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3aad0fa57e04fe0c97b4995b544e31f0951da62a Author: Jeff Blaine Date: Fri May 27 15:49:52 2011 -0400 kvno invocation correction, language cleanup, afs/cell principal preferred Properly show kvno command syntax, add information about preferring 'afs/cell' for the principal over 'afs', and changed "noted this down" to "made note of" Reviewed-on: http://gerrit.openafs.org/4740 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 07f461e8e35147af605ebc86c139b31d2db0bb28) Change-Id: If37ab2164a13c6f4b745aaf221337ba56eede043 Reviewed-on: http://gerrit.openafs.org/4793 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d68c66eb6e8d0df2612485f8c72e155513b6cc36 Author: Simon Wilkinson Date: Tue May 31 08:31:55 2011 +0100 vos: print_addrs never receives multi-homed addrs The magic address that tells the vlserver that a host is multi-homed, and to look up the multi-homed address structure is an internal implementation feature, which shouldn't be exposed to clients. print_addrs is only ever called with the results of VL_GetAddrsU, which has already converted any multi-homed pointers, so it doesn't need the logic to handle them itself. Reviewed-on: http://gerrit.openafs.org/4757 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 23e433f10414d771937cbea5510b6006b6a7b063) Change-Id: I24df764211d99d84b116d1031b05de61b38c3397 Reviewed-on: http://gerrit.openafs.org/4792 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7d84b8a69e10b48227ac72192b22fca4615292cc Author: Michael Meffie Date: Thu Sep 23 21:18:36 2010 -0400 xstat: cope with different size timeval structures In xstat_fs_test and afsmonitor, try to display the xstat data from the fileserver even if the fileserver has differently sized timeval structures, or different word ordering, as the xstat client program. Reviewed-on: http://gerrit.openafs.org/2986 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit c0a55111d726b26d07661957a65e4d59f155d5e6) Change-Id: I3bef968538c90d6e261142c60a817b4b9e2ad228 Reviewed-on: http://gerrit.openafs.org/4791 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 46842f03d96d586e69b9ed5f70d6f4c220d3a93c Author: Jonathan Billings Date: Wed Jun 1 11:05:11 2011 -0400 linux: rpm: Fix SELinux attributes on /afs when installing openafs-client package Since the directory /afs isn't included in the package manifest, but rather created in a script in the openafs-client package, it never gets the appropriate SELinux attributes that are required to mount a volume (mnt_t). This change fixes the problem by running '/sbin/restorecon' (if it is an executable that exists) on the /afs directory after the openafs-client package is installed, right after the directory is created. Reviewed-on: http://gerrit.openafs.org/4763 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit b3232b2cb44a3df02a37efd852ecfef2f3a9e5cc) Change-Id: I5944c16f558f2651250d122f547fbfd71519c1d1 Reviewed-on: http://gerrit.openafs.org/4786 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aa7de1a4d3a985a6bef911186ffa249b075efc42 Author: Ben Kaduk Date: Tue May 31 15:25:35 2011 -0400 Enable gencat for i386_fbsd_* The machines certainly have a /usr/bin/gencat, and I see nothing in history to indicate a reason for this prevention. Allow the 32-bit machines to build afszcm.cat and make packaging more uniform between architectures. Reviewed-on: http://gerrit.openafs.org/4760 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 55a41d00057106913ce2aba50772a56bc994a9a4) Change-Id: Icd3b85c99e8a41407355f94e561042c13ca15293 Reviewed-on: http://gerrit.openafs.org/4785 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 5dac29b0fd07e22d2e145912588858c81f202061 Author: Andrew Deason Date: Thu Mar 17 16:32:00 2011 -0500 libafs: Do not osi_FlushPages for dirs Directory contents are never mapped or stored in pages, so dealing with page invalidation on directories is just overhead. So make osi_FlushPages a no-op when we're given a directory, which can avoid a lot of locks and other processing (particularly when we are called in afs_getattr in BOZONLOCK_ENV). Reviewed-on: http://gerrit.openafs.org/4259 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a6f18413edceed1b0d532005eb62cb1886e7a6f3) Change-Id: I48dafa5fb442cfc92fb673f2b26e1034fc44c0c7 Reviewed-on: http://gerrit.openafs.org/4730 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7640d15c914d40ba42b753afcfc419ef12e39557 Author: Christof Hanke Date: Thu May 26 07:46:32 2011 +0200 linux: add read_descriptor_t configure test and ifdef With linux 2.6.8 the struct read_descriptor_t changed. Add a configure-test and respective ifdef to deal with that. Reviewed-on: http://gerrit.openafs.org/4719 Tested-by: BuildBot Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear (cherry picked from commit 7133266bafbf238ef921690c40846f3ea2d2fc8b) Change-Id: Ifdc7c1d3c4162452c1576942b7bfe37ea5014a77 Reviewed-on: http://gerrit.openafs.org/4726 Reviewed-by: Christof Hanke Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 061eb50e3d5b5cce37245a4314aad079ef96ca80 Author: Christof Hanke Date: Wed May 25 22:16:59 2011 +0200 autoconf: add test for typedef'd structs AC_CHECK_LINUX_STRUCT does not work for structs which are typedef'd. The gcc will complain with "error: storage size of ‘_test’ isn’t known" and fail the test. Thus the new test-macro AC_CHECK_LINUX_TYPED_STRUCT. Reviewed-on: http://gerrit.openafs.org/4718 Reviewed-by: Christof Hanke Tested-by: BuildBot Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear (cherry picked from commit baf7656f666e0d47047c545561345e7803b8a141) Change-Id: I7feca884d7796ccd3a490d6b81e745c644d9c8f1 Reviewed-on: http://gerrit.openafs.org/4725 Reviewed-by: Christof Hanke Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0adfb78e70d6afb3eb55ca0c73017a35023f279f Author: Ben Kaduk Date: Thu May 26 01:11:14 2011 -0400 FBSD: VIMAGE support Starting in FreeBSD 8.0, there is support for multiple virtual network stacks (generally to be exposed to separate jail(8) environments). It is enabled as a kernel configuration option, so our builds against GENERIC have not failed, but we fail to build when options VIMAGE is present. Fix our variable references accordingly. Submitted-by: Hiroki Sato of freebsd.org Reviewed-on: http://gerrit.openafs.org/4721 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 9703b023cc0f5088eab5135acf7417e90ebbb2cd) Change-Id: I058ed4fd637f205701e5aab4d88d65386097f9c0 Reviewed-on: http://gerrit.openafs.org/4724 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 85ac4e77b2fd6a4de4ec0224f1f1a3025433cbec Author: Derrick Brashear Date: Wed May 25 17:05:53 2011 -0400 viced: note parms file deprecation /vice/file/parms is unsupported and will be removed later. 1.6 only change. master version will remove it. Change-Id: Id41ca57c1331fb59b87f7f6a06281b640a8c9879 Reviewed-on: http://gerrit.openafs.org/4720 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear commit aa99a3a5f731b90334a45d726264d6d3e0318393 Author: Derrick Brashear Date: Wed May 25 15:31:40 2011 -0400 macos: disable bulkstat 1.6 only change. there's still an issue where potentially multiple contexts reference a vnode which needs to be finalized; the fixup is successful but there's no hint to other threads to reref before proceeding (no actual troublesome access while waiting for the fixup as the vnode will not have actually been CStatd yet) Change-Id: Ib72f69b74c94b7cac74a9a01a54a8872e32f9717 Reviewed-on: http://gerrit.openafs.org/4717 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 756621e29e684b24e1021e0926040ff1dcdcfa49 Author: Derrick Brashear Date: Tue May 24 14:36:04 2011 -0400 des: generated files should not require objects needed in libdes 1.6 only change, since DES is dead. don't require the same misc.o in both libdes and when generating generated files to making, as make dependencies then throw away valid input. Change-Id: Icf6a211e66d7390ac73fa1effb89a0c4a131666f Reviewed-on: http://gerrit.openafs.org/4713 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 025d270d9996c728f10528c6c5c89ededcd7c1a1 Author: Jeffrey Altman Date: Mon May 23 13:26:20 2011 -0400 Windows: ChangeLog for 1.5.9906 (1.6.0pre6) Reviewed-on: http://gerrit.openafs.org/4706 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from ba76149a57f0cfd92672580b7047a557f159ee52) Change-Id: Id400d48bf5e8699558133b4b7812a2703a4508e5 Reviewed-on: http://gerrit.openafs.org/4707 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 37c5c707511e632a39a5e69e03f9ec7ae17d6ede Author: Antoine Verheijen Date: Tue May 17 09:40:15 2011 -0600 Replace uintptr_t type cast with uintptrsz in afs_vcache.c A recent change (commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0) to afs_vcache.c contains a call to afs_warn() whose second parameter contains a "(uintptr_t)" type cast as part of a double type cast. This presents an issue on some systems, such as OpenBSD, where this object type is defined in a header that is not presently included. This change modifies that type cast to instead use the AFS-internal "(uintptrsz)" type which should provide the same effect. Note that an earlier version of this patch attempted to remove the "offending" type cast as redundant but it was pointed out that some systems require this kind of cascading type cast when casting pointers to integers to deal with possible size issues. Reviewed-on: http://gerrit.openafs.org/4671 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b3004fbd5007d400a4cd3fb2a5b1c52d98618aab) Change-Id: I3c7452d1f09dc7fdbcffe9b047e4ec682ac6ea03 Reviewed-on: http://gerrit.openafs.org/4705 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit af5878cb79e32280dbaebcb16cd0998720b2d856 Author: Derrick Brashear Date: Sun May 22 11:40:46 2011 -0400 make 1.6.0pre6 update for 1.6.0pre6 the various build strings Change-Id: Ic5deaa84f28cc39e955a0fcb1472a849d9feb4a3 Reviewed-on: http://gerrit.openafs.org/4703 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 23db3f30b82d803bf0af5a1ac66841cfa519690e Author: Andrew Deason Date: Tue May 10 14:16:06 2011 -0500 libafs: Flush vcaches in afs_shutdown Currently, a few platforms (linux, linux24, solaris, irix) flush all vcaches during shutdown. However, they do this before calling afs_shutdown(), resulting in afs_FlushVCache queueing VCBs and possibly trying to give the callbacks back to the server. Instead of this, perform the flushes in afs_shutdown itself, so we do this after we try to give up all callbacks to all servers, and we do this while afs_shuttingdown is set, so we don't try to queue VCBs. This also consolidates some of the duplicated code to flush all vcaches, and now does this for all platforms. Reviewed-on: http://gerrit.openafs.org/4641 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0) Change-Id: I90afacbdd7ef0f52de4589001ec9bb8ffd292782 Reviewed-on: http://gerrit.openafs.org/4702 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit dae4336c1848479609bd173dee757a3d4eb65354 Author: Derrick Brashear Date: Wed Mar 30 09:46:43 2011 -0400 xdr symbol fallout changes to xdr make xdr_vector and xdr_reference missing from libuafs. fix it. (cherry picked from commit 6bdba897f49b8358d3592588a78d9b59757a9c13) Change-Id: I6ed0e035ff928f3cf93fdc42c7ee0f31096de978 Reviewed-on: http://gerrit.openafs.org/4379 Tested-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/4704 commit b6ed780e28ac2b5b398d4392985622fa37e26e4b Author: Ken Dreyer Date: Mon May 16 19:53:43 2011 -0400 doc: -afsdb uses SRV records afsd's -afsdb option now uses DNS SRV records (RFC 5864). Update the manpages to reflect this. Reviewed-on: http://gerrit.openafs.org/4670 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Derrick Brashear (cherry picked from commit 884d0b058cea4ad6c9338fc7842ea0c619cb263d) Change-Id: Ibcdb7c0564d9ac56fa9e50123950e7f758761111 Reviewed-on: http://gerrit.openafs.org/4701 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 45f444376cf446a0e21795ea627413666f634011 Author: Derrick Brashear Date: Fri May 20 14:13:01 2011 -0400 macos: bulkstat redux simplify the logic which can require sleeps in various vcache resolution paths. instead of the two-pass system we had before, just guess using the even/odd hack what type a vnode will be. if a vnode turns out to be a link and thus we are wrong, we do a fixup later. other callers who "race" with bulkstat (which is a supported feature, otherwise you'd have to block callbacks) will also call through a fixup to get the correct backing vnode type. this is necessary as the KPI doesn't let us change the type of a vnode after it's been created. side effect: eliminate many of the ugly cases where we had been sleeping waiting for a vnode to be finalized even before bulkstat. Reviewed-on: http://gerrit.openafs.org/4677 Tested-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 04087af8494b90f664ac5f274d5db4c12063f238) Change-Id: I7a9c3e4f94496aa1a553ad54f6d43a0d0e6ccd5a Reviewed-on: http://gerrit.openafs.org/4699 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit faac1f8920ad783ddd7886f000611bf474cfe837 Author: Derrick Brashear Date: Fri May 20 14:10:49 2011 -0400 dynroot: mark vnode types on dynroot vnodes when we create a vnode using a dynroot fid, we weren't bothering to update the type from the default (typically VREG); most dynroot vnodes are actually VDIR... Reviewed-on: http://gerrit.openafs.org/4686 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 0cf06f620213fa62abc16bf717779a1333ce12a0) Change-Id: Ic0392216ca5da072022baa1388380f658d324df2 Reviewed-on: http://gerrit.openafs.org/4698 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7cae02dc6dae05aa50cae5e034b3d0fd6fdaa807 Author: Michael Meffie Date: Wed May 18 13:42:27 2011 -0400 volinfo: fix -filenames option check Fix the logic for checking the presense of the volinfo -filenames option. The original patch inadvertently added the -filenames check as an if-else cause to the -orphaned flag check, which prevents filenames from being printed when listing orphaned vnodes. Reviewed-on: http://gerrit.openafs.org/4689 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 33cb8a53fdc8907dafed2e77cc1da539d17397c5) Change-Id: Ic538976a697317fd3458c8a619f14dd100c4cdab Reviewed-on: http://gerrit.openafs.org/4697 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit efc9605e03c8e17450aa0afdd329cd7ae5a549f9 Author: Andrew Deason Date: Thu May 19 17:02:35 2011 -0500 SOLARIS: Reset syscalls on mod_install failure If our call to mod_install fails for any reason (for example, if the afs entry is missing from /etc/name_to_sysnum), we may still have set the sysent structures for setgroups and ioctl to point at libafs code. So calls to those syscalls will cause a panic, since the code they point to is no longer loaded. To avoid this, just reset the sysent entries back to what they were if we fail to load, just like we do when unloading the module. Reviewed-on: http://gerrit.openafs.org/4685 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ca425b7d49a2bf4c079aa38c0abf68596eca0b30) Change-Id: Ifb2cd9848b5468c950b600052308370b7c8c2af9 Reviewed-on: http://gerrit.openafs.org/4687 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0d02d71908a624406e730a334dd9e0ec5f2dbad8 Author: Chas Williams (CONTRACTOR) Date: Wed Mar 16 10:32:48 2011 -0400 rx: always use/protect the xdr routines in the kernel This clears up some warnings about duplicate symbols with Solaris 11 since the Solaris kernel already has these routines. Since we never use stock kernel version of the xdr routines perhaps we should always use/protect our version of the symbols. Reviewed-on: http://gerrit.openafs.org/4252 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit 8336d31ac5092a16cfb206707e69c19f07f99241) Change-Id: Iebf4470f5ddfc591f52f51d1d080bd58d11683a8 Reviewed-on: http://gerrit.openafs.org/4682 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c7eb1f9eacf54aa8224ab7f2b8369c739a45726c Author: Jeffrey Altman Date: Wed May 18 13:51:53 2011 -0400 auth: failback to afs3-vlserver for afs3-prserver If the DNS SRV lookup is for afs3-prserver or afs3-kaserver, fallback to a lookup for afs3-vlserver since those services are traditionally hosted on the same machine as the vlserver. FIXES 129887 Reviewed-on: http://gerrit.openafs.org/4676 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit 19f4fa2b4870828269e0751a4874d9ce67a1bb3a) Change-Id: I9d0e2f0ca9d4ddc5ebf9defb44c62f6bf00955d6 Reviewed-on: http://gerrit.openafs.org/4681 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 07758d536d423d9f6a8b1343e8c96dcd95422d5e Author: Jeffrey Altman Date: Sun May 15 21:56:17 2011 -0400 Windows: lock protected fields must be 32-bit It is not safe to protect two 16-bit fields in a structure with different locks. Switch to using 32-bit fields. Increment the cm-memmap version number since the data structure sizes changed and the cache file must be invalidated. Change-Id: If363654c4d0dd8efd225c9ff19b99bb4f4b7b70e Reviewed-on: http://gerrit.openafs.org/4675 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 2910dca6489954c01fecbc21807310fb6584c45e Author: Jeffrey Altman Date: Sun May 15 21:53:56 2011 -0400 Windows: add lock assertions to cm_buf.c add lock assertions to cm_buf.c in hopes of detecting why periodic buf_scacheHashTable corruption is being detected. Change-Id: Ib93ac7d449c7f2cb065219981f16ba319a9273b1 Reviewed-on: http://gerrit.openafs.org/4659 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4674 commit 9bb37d675bbdaa76eed441252ff17ab5e79be484 Author: Jeffrey Altman Date: Sun May 15 21:51:14 2011 -0400 Windows: test return from krb5_cc_start_seq_get If krb5_cc_start_get fails when using Heimdal, the cursor is invalid and it is not safe to pass it into subsequent functions. Change-Id: I2218d8824af0e35392457b960f11bef970072638 Reviewed-on: http://gerrit.openafs.org/4658 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4673 commit 1c063d12aa8ae49bb21620e11da954ef9cf8e32a Author: Andy Cobaugh Date: Wed May 11 17:02:40 2011 -0400 rpm: Really undefine %dist rpmbuild --eval '%undefine dist' wasn't sticking on redhat 5.x. I think the correct way to undefine this is to --define 'dist %undefined' Some redhat 5.x installs have %dist defined depending on what else has been installed. Reviewed-on: http://gerrit.openafs.org/4643 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 0b983054f88d69ca4c0cda07e94103f216bd881d) Change-Id: I41828880a10097059ae0297ae191fa2a96e804d2 Reviewed-on: http://gerrit.openafs.org/4665 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 4d3e83e86abd0bb6f70e50f208c63bcc248c6673 Author: Marc Dionne Date: Sat May 14 20:57:12 2011 -0400 Linux: fix reading files larger than the chunk size Commit 2571b6285d5da8ef62ab38c3a938258ddd7bac4e fixed an issue with the use of tmpfs as a disk cache and ftruncate() on files in AFS. But it introduced a problem reading larger files as reported in RT ticket 129880. What should be compared against the current cache file size is the offset into the current chunk, not the overall offset for the whole file. FIXES: 129880 Reviewed-on: http://gerrit.openafs.org/4656 Reviewed-by: Russ Allbery Tested-by: Russ Allbery Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 8ee33373c1ef24572476d8189a3f6f7505bfc83a) Change-Id: I0349d744a9e16b6448a621fe6f4078b1eb1fa9d2 Reviewed-on: http://gerrit.openafs.org/4664 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit adfe378df858aef951b0a30b640e46ad1feefb2d Author: Andrew Deason Date: Tue May 10 12:54:53 2011 -0500 libafs: Do not write-lock afs_xserver on ICBS Our RXAFSCB_InitCallBackState* handler currently write-locks afs_xserver when it clears the SCAPS_KNOWN flag for the relevant server. However, the afs_xserver lock is for protecting the global list and hash table of server structures, and is not necessary to acquire in order to modify the flags of an individual server struct. For instance, CkSrv_GetCaps does not acquire any locks to modify the server flags. Taking this lock conflicts with a read lock on afs_xserver acquired by afs_FlushVCBs when it traverses the list of server structures. afs_FlushVCBs may contact a server that then calls InitCallBackState on us, causing a deadlock if ICBS waits for the afs_xserver lock. So, avoid locking afs_xserver in this case, to avoid that deadlock. Reviewed-on: http://gerrit.openafs.org/4639 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit ae638fa383b8270fe2461a2ad91b9101c74f3593) Change-Id: I095c74f51f1ddb74ebaecda221ca45a4f6ad09c8 Reviewed-on: http://gerrit.openafs.org/4663 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 699c407bfbf0fad2667b231a1e73cdf1a0aec7b0 Author: Andrew Deason Date: Fri May 6 13:12:17 2011 -0500 dasalvager: unlink fsstate.dat when standalone If the DAFS salvager is running in a standalone mode, unlink the fileserver's fsstate.dat file if any volumes change. Otherwise, volume data could have changed and the fileserver will retain callback promises for the data in those volumes until it tries to attach the volume. This way, callbacks are broken via callback state reinitialization. A better solution is to record which volumes have changed, and the fileserver can break callbacks for them on startup. But this at least eliminates a regression from non-DAFS behavior. Reviewed-on: http://gerrit.openafs.org/4638 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 38efda16a2c5c9e74b5a23b5bdd2818a3353eec2) Change-Id: Ic931ce8118e8d76d799ce7e731451a6a4bf3c241 Reviewed-on: http://gerrit.openafs.org/4662 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 99149b9837ae09d1621111075e3bf8f5bac9b6c2 Author: Andrew Deason Date: Thu May 5 17:13:21 2011 -0500 libafs: Put back GetCapabilities user reference afs_GetCapabilities gets a user reference for the conn for the GetCapabilities call. Put the ref back so we don't leak refs. Reviewed-on: http://gerrit.openafs.org/4626 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 010fc998a51a0aae2499b128ee8c671885a84e13) Change-Id: Ia505de8e5ec7ded14f2e2e40ac8bd3ef0b91c2fc Reviewed-on: http://gerrit.openafs.org/4637 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 5c52f277108e2b97a14aba6539849f71bd554cd0 Author: Marc Dionne Date: Sat May 14 13:19:52 2011 -0400 Linux: fix permission op test for certain compilers Some compilers complain that _inode is used uninitialised here. Since this test requires -Werror, it causes the test to fail and our permission op to be used in RCU mode, leading to lockups. Initialise it to make the compilers happy. Fixes a lockup seen on kernels 2.6.38+ on Gentoo and Debian. Reviewed-on: http://gerrit.openafs.org/4654 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 050945e949135c1b98ed353fc05fcf9b8c1587bd) Change-Id: Icc4e65946c8d04bd519c95b969dec1d2359dce51 Reviewed-on: http://gerrit.openafs.org/4655 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0c350f8bfe563f3b1b0fe9977c6c472c530b83f5 Author: Jeffrey Altman Date: Mon May 9 10:46:46 2011 -0400 Windows: always try afs/cell@USER-REALM first In the KFW_AFS library, always try afs/cell@USER-REALM first, even when KFW_AFS_klog() is called with an explicit realm mapping for the cell. An afs service principal from the user's realm is always preferred. No cross realm and if the realm is AD, the ability to avoid the inclusion of a PAC. Change-Id: Ie1a963f3826e10b3f37acf5829532046fe42e88e Reviewed-on: http://gerrit.openafs.org/4633 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4635 commit efc227efe96ec30d3c977994ea8dbb53847cab61 Author: Jeffrey Altman Date: Mon May 9 10:45:33 2011 -0400 Windows: support dotted names in aklog Do not reject dotted principal names if the registry configuration states that they should be accepted. Change-Id: I68a3054e77236ff307cc45b6563f34ec6605113a Reviewed-on: http://gerrit.openafs.org/4632 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4634 Reviewed-by: Derrick Brashear commit acecbcb53867a4d9bf83e2b6a4e933b02723bfd2 Author: Jeffrey Altman Date: Fri May 6 09:49:52 2011 -0400 Windows: replace CYGWIN envvar with CYGWINDIR The environment variable CYGWIN (starting with cygwin 1.7.1) is now used by CYGWIN to set configuration parameters for the cygwin runtime library. OpenAFS used it to indicate the location of the Cygwin install directory. Since there is a conflict, rename CYGWIN to CYGWINDIR. Change-Id: I32cd79eba33fc80e15308010fafdaecb527d23f0 Reviewed-on: http://gerrit.openafs.org/4629 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4630 Tested-by: Jeffrey Altman commit 8238c68dcf8750e279f253123546481731b67854 Author: Jeffrey Altman Date: Thu May 5 20:36:38 2011 -0400 Windows: change log for 1.5.9905 Change-Id: I68135149ca84a18b802a45e53c227b34e67a41a2 Reviewed-on: http://gerrit.openafs.org/4627 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4628 commit 8a13c93eded251fefc3564ecb85378225d6e390e Author: Derrick Brashear Date: Tue May 3 08:47:31 2011 -0400 make 1.6.0pre5 update bits needed for pre5 Change-Id: Iec57e2a69ea02c25b1c71b3d7ac4beb6eafc69c1 Reviewed-on: http://gerrit.openafs.org/4618 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit dd408a153adaca8795c2ae4ea88d0dadd067ca22 Author: Jonathan A. Kollasch Date: Mon May 2 21:06:34 2011 +0000 NetBSD: DEBUG can not typically be defined Like IRIX 6.5, some NetBSD kernel structures change size in the presence of the DEBUG preprocessor symbol. Reviewed-on: http://gerrit.openafs.org/4605 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 48633351c597278d4c8efd5a80163f0637c85aaf) Change-Id: I15771316dc657474d8b906df26f927fdbefe384c Reviewed-on: http://gerrit.openafs.org/4617 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 045e72c2b80c49b089d9f1b9cb84bfdad55dd678 Author: Jonathan A. Kollasch Date: Mon May 2 20:03:50 2011 +0000 NetBSD: translate timeval structure format in clock_GetTime() Reviewed-on: http://gerrit.openafs.org/4604 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 350786b3e092150a91bb4542263f648d683e3b7c) Change-Id: I819abb0b3207517f4a560e10896db211006f1980 Reviewed-on: http://gerrit.openafs.org/4616 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a1959864eebf29dbebfff71b9659646d036fcba3 Author: Derrick Brashear Date: Fri Apr 29 03:59:19 2011 -0400 avoid downward vcache pressure when entries are free we try to keep VCACHE_FREE entries free. if there's already that many free, do nothing. Reviewed-on: http://gerrit.openafs.org/4595 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit fd545c51fe34b1452f09d4fbf6458f5b1557e895) Change-Id: Ia19b748596eadc75c6487d5fe854d2c7c4a4595a Reviewed-on: http://gerrit.openafs.org/4615 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 39090b5044101df54f9966063f5d89cc12a59f6d Author: Simon Wilkinson Date: Tue May 3 10:03:22 2011 +0100 Fix com_err renaming The pull up of 352c3e366c2e0a8de4550547192276e62afd2cc1 to the 1.6 branch missed replacing occurences of com_err with afscom_err in the sgistuff and pam directories. Fix this so that Irix builds again. Change-Id: I38ab02859a7cb2ebd60e455e6db4dc2c47710766 Reviewed-on: http://gerrit.openafs.org/4614 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit e69ee66caf1aa4131e2516d990c3d766a6d060d5 Author: Andrew Deason Date: Tue Feb 15 12:04:32 2011 -0600 libafs: Drop xvcache for AllocCBR Normally when we AllocCBR, we are holding xvcache write-locked, since it is called from FlushVCache. Before a309e274632993c5aeec04c6e090f5ac95837a40, when AllocCBR needs to flush CBRs due to a lack of space, we hit the net, giving up callbacks on fileservers. This can cause a problem if one of those fileservers needs to contact us in order to complete that request, since the callback service thread may be waiting for xvcache, causing a deadlock (that is eventually broken by network timeouts). To avoid this, drop xvcache if AllocCBR looks like it does not have sufficient space. Fix all callers of afs_FlushVCache to handle the case where we sleep, since with this change, afs_FlushVCache can sleep on all platforms. This partially reverts a309e274632993c5aeec04c6e090f5ac95837a40, as it contains an alternative method of avoiding the xvcache lock in this situation. This commit restores much of the code path to be much more similar to how it used to be, except that it allows for dropping xvcache for AllocCBR. This should make any change to our prior behavior smaller/simpler, and thus safer and more consistent with existing clients. This reintroduces the hard limit to how much space we allocate for CBRs, although the part of a309e274632993c5aeec04c6e090f5ac95837a40 that raised this limit is retained. Reviewed-on: http://gerrit.openafs.org/3958 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 76158df491f47de56d1febe1d1d2d17d316c9a74) Change-Id: I6d2d7512682b93e6524f8f60bb8e15818d888e00 Reviewed-on: http://gerrit.openafs.org/4603 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 126333cff710983faeb4185b0470013d66b16717 Author: Andrew Deason Date: Thu Apr 28 11:48:18 2011 -0500 libafs: Use vcount, not maxvcount to trim vcaches Every five minutes we afs_ShakeLooseVCaches to try and return the number of vcaches in use down to the originally configured -stat level (when we are using dynamic vcaches). We should calculate how many vcaches to flush based on the number of currently active vcaches (afs_vcount), not the peak number (afs_maxvcount). Otherwise, once we exceed the configured -stat level, we will always keep trying to flush numerous vcaches, even if we barely have any vcaches in use. Reviewed-on: http://gerrit.openafs.org/4584 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 2a2206bfe16815a6625fee4d37520e9676d88ab4) Change-Id: I80cfbf31ba81d7cf23013c0efcea0b8ac8c341db Reviewed-on: http://gerrit.openafs.org/4602 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2571b6285d5da8ef62ab38c3a938258ddd7bac4e Author: Simon Wilkinson Date: Mon Apr 25 14:18:39 2011 -0400 Linux: Don't read pages beyond the cache eof If we attempt to read past the end of the current cache file (for example, when we're extending the file with ftruncate), don't force the backend filesystem to populate that page with non-existent data. This will hopefully fix a bus error when using tmpfs as a backing cache. FIXES 128452 Reviewed-on: http://gerrit.openafs.org/4562 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 79d5b5cce65b10134004c4cb2b7b34ac509cba6a) Change-Id: Id9956be824a4c4d8db7deb65403f4d9740758e42 Reviewed-on: http://gerrit.openafs.org/4600 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f451b4a98d79b84a37a059282d7855636981f265 Author: Andrew Deason Date: Wed Apr 27 16:24:46 2011 -0500 viced: Improve deleted client log messages Change the information logged related to deleted clients to be a little more useful. In particular this includes adding the client and host refcounts, to help see if the cause is a reference count leak. Reviewed-on: http://gerrit.openafs.org/4583 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 047cc473037efa62fa7698878e055ca4665e85ef) Change-Id: I3bfcf49587f826129979b81de95b92cb2b332790 Reviewed-on: http://gerrit.openafs.org/4593 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cfd5d1461e6fa28ab277575991d5f8eda3e46ce0 Author: Andrew Deason Date: Wed Apr 27 14:23:43 2011 -0500 viced: Avoid ref leak on origin callback break When breaking a callback, sometimes we send a callback to the host that performed the callback-inducing operation. When we do this, currently BreakCallBack gives the origin host structure to MultiBreakCallBack_r, which avoids releasing that host after the callback is broken. However, BreakCallBack obtains a reference to every host to which it delivers a callback, even if it is the origin host, so a reference is leaked. Fix this by not ever passing a host to MultiBreakCallBack_r, and just have MultiBreakCallBack_r release a reference for every host to which it delivers a callback break. FIXES 129376 Reviewed-on: http://gerrit.openafs.org/4581 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit af175ce2c7a4785ef1992d096adfdb27daa86ee4) Change-Id: Ifd59c8ce93939f7b23e9f64bd7c0e527d3a2fa52 Reviewed-on: http://gerrit.openafs.org/4592 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1ce3765d3427caa96c9cb33ec772212531b5031 Author: Andrew Deason Date: Wed Apr 27 13:51:23 2011 -0500 viced: Transfer host ref in h_FindClient_r In h_FindClient_r, we can change which client structure we're dealing with if we find a different client struct in the Rx conn-specific data. We adjust the refcounts for the client structures themselves, but not the associated hosts. While the host structures should be the same most of the time, we are not guaranteed that, so adjust their refcounts as well. Reviewed-on: http://gerrit.openafs.org/4580 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 9a4e3ade396583d412a85c4e03238d18d5c533ee) Change-Id: I9ec5ed707ef6b726c358fcaa46d81b9ea1a17ce7 Reviewed-on: http://gerrit.openafs.org/4591 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a8b7a1e017a5e16137c00f66701913044bb8ef05 Author: Andrew Deason Date: Sat Apr 23 16:52:30 2011 -0500 viced: Release all hosts in h_Enumerate* h_Enumerate and h_Enumerate_r were not releasing all of the holds they obtained when the callback function caused the enumeration to bail early. Correct them so all host holds are released. Reviewed-on: http://gerrit.openafs.org/4530 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 211e906c86be9ad9cba324e776d56093579b6653) Change-Id: Iceb1e2961e9bbb11640c6fccdeb8713a9657df99 Reviewed-on: http://gerrit.openafs.org/4534 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c294038d986d61ef2d35816d96ed86786aed03bc Author: Andrew Deason Date: Sat Apr 23 16:44:41 2011 -0500 viced: Print a warning when using a deleted client We should never get a deleted client back from GetClient. Log a message if we do, to explain why access may suddenly appear to fail, and assist in determining why. Note that we still try to service the request, since the accessing user may still have enough access to do whatever was requested. Reviewed-on: http://gerrit.openafs.org/4529 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 8b07814e037d19dc9868dd202e82d69b96fbdcae) Change-Id: I0b1d9fe46e5b83b93b59ff6facc2421db9136c12 Reviewed-on: http://gerrit.openafs.org/4533 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a62adf29e05dc52debd7bd5ed065ee40893921b8 Author: Andrew Deason Date: Sat Apr 23 16:32:10 2011 -0500 viced: Force valid host enumeration flags Make sure that the callback functions for h_Enumerate and h_Enumerate_r give us back valid flags values by aborting if they return an invalid value. Reviewed-on: http://gerrit.openafs.org/4528 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 484b5b4cf4f88a9ddd04cdbe870d9c2959ef266c) Change-Id: Ia1b7537d7988203bd8c0bbc619c04f5b3f9387a1 Reviewed-on: http://gerrit.openafs.org/4532 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 842e77607f3834001855790086011a5902593b0f Author: Andrew Deason Date: Thu Apr 28 13:55:09 2011 -0500 doc: Fix 'vos endtrans' copyright SNA owns this, not me. Reviewed-on: http://gerrit.openafs.org/4586 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c7212aaaf155f60e28bf592a13e5a50c960e5017) Change-Id: Ib260b89ced9616d31242237048a900616ca9820b Reviewed-on: http://gerrit.openafs.org/4601 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dd8b624cf73c98d8edab2b253d40b4c2589d44d0 Author: Jeffrey Altman Date: Sun May 1 00:11:13 2011 -0400 Windows: Fix caching of non-existing vols In cm_UpdateVolumeLocation() the conditional that would trigger the immediate return of CM_ERROR_NOSUCHVOLUME was backwards which prevented the caching from working. cm_CheckOfflineVolumes() is called by the daemon thread to reset the status of offline volumes. Non-existing volumes are by definition offline and cannot be brought online. Therefore, the cm_CheckOfflineVolumes() function should skip volumes with the CM_VOLUMEFLAG_NOEXIST flag set. Change-Id: I65534b78842b4887d2fde67162a9d854437001ed Reviewed-on: http://gerrit.openafs.org/4597 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4598 Reviewed-by: Derrick Brashear commit 61414ab7a8adb3854dcd08aeaf5c642aea8477eb Author: Ben Kaduk Date: Sat Dec 18 23:52:43 2010 -0500 Rename libcom_err to libafscom_err We no longer provide a compatible libcom_err, and in fact we renamed the symbols in our libcom_err several years ago to reflect this fact. When we build on a system where KRB5_LIBS includes -lkrb5 -lcom_err , the new Unix build system will pick up our libcom_err (as $(AFS_LDFLAGS) is the first argument in AFS_LDRULE and pulls in a linker search path for our libcom_err) which does not provide all the needed symbols for libkrb5. Fully rename our libcom_err away to avoid these conflicts. FIXES 128640 Reviewed-on: http://gerrit.openafs.org/3547 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 352c3e366c2e0a8de4550547192276e62afd2cc1) Change-Id: I3aa116d280fe1b0efdfda79787f53fbee336a4e3 Reviewed-on: http://gerrit.openafs.org/4572 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 0ca30d92a1b2445562bee05098121351990f215c Author: Derrick Brashear Date: Tue Apr 26 10:46:41 2011 -0400 macos: further next version support try to optimize out things which will be missing Reviewed-on: http://gerrit.openafs.org/4569 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit a33f77b6e11214326f5e752de171602c0e9efe86) Change-Id: Ie20120aad8cb477d532594b9462aca3cf993aabb Reviewed-on: http://gerrit.openafs.org/4571 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 6357b745863976955963246eed32e53d7962354b Author: Derrick Brashear Date: Mon Apr 25 22:23:40 2011 -0400 IRIX: set vfs pointer when creating new vcaches add missing call to set our vfsp on irix. Reviewed-on: http://gerrit.openafs.org/4561 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7d72a8c5c4b9df417c9337c01e8a7f26d8f6280b) Change-Id: If0cccaa47f1110eca347734bfbaedc0456e53b21 Reviewed-on: http://gerrit.openafs.org/4579 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 7494fa49b29199d282b11b91cd6be8907210e1d7 Author: Marc Dionne Date: Wed Mar 30 18:32:04 2011 -0400 Linux: Fix fallout from path_lookup commit Fix a few issues with the recent commit to deal withg the removal of path_lookup, spotted on RHEL 5: - the configure tests needs fs.h to be included before namei.h, to get the definition of struct inode - we need to avoid the use of struct path unless its needed; on older kernels the structure doesn't exist (cherry-picked from commit f2e91cc3fe61956e7661eae9da82ddf746e63824) Change-Id: I752976dd5a68dd4212ad2c0088f799bd6a44ffc6 Reviewed-on: http://gerrit.openafs.org/4382 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/4570 commit 5c2288d5eb46350bb7635e87d3ace8c7562b5148 Author: Andrew Deason Date: Sat Apr 23 16:25:00 2011 -0500 viced: Fix host enumeration flags Do not give uninitialized flags values to h_Enumerate callback functions. In fact, do not give a flags value to h_Enumerate or h_Enumerate_r callback functions at all, since they are not actually used. Fix host enumeration callback functions to just return 0 or the relevant flags, instead of basing the return value off of the given flags value. Update MultiBreakVolumeCallBack_r to use the correct return values, since it currently tries to use the old meanings of the host enumeration return values. FIXES 129376 (cherry picked from commit 5b9d427141f0a6fd0e83de9564e70ef2cfebf656) Change-Id: Icae627318cd523fa225beb8b53449f61532c4a90 Reviewed-on: http://gerrit.openafs.org/4531 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ac0797822c976b2b3c239ffcbcd7713897743eaa Author: Jeffrey Altman Date: Mon Apr 25 21:41:17 2011 -0400 Windows: afskfw return error if krb5 not loaded If the Kerberos v5 library cannot be loaded (pkrb5_init_context equal to NULL) return a reasonable error code instead of returning success and doing nothing. Change-Id: I90c106ff6bb4463c3d55d5ac1bbf225464c80c0d Reviewed-on: http://gerrit.openafs.org/4560 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-on: http://gerrit.openafs.org/4568 commit 6c1c8477f97b79404dd4a057c39df57215cffb4f Author: Jeffrey Altman Date: Mon Apr 25 21:40:28 2011 -0400 Windows: build afskfw.c without leashw32.dll remove our dependency on mit kfw leashw32.dll Change-Id: Ibb5bc58dc6bf250d50ae8bd884a08449a356b6e2 Reviewed-on: http://gerrit.openafs.org/4559 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-on: http://gerrit.openafs.org/4567 commit 50808ed7003c666f72d26ea2100fd17784744a34 Author: Jeffrey Altman Date: Mon Apr 25 21:29:46 2011 -0400 Windows: avoid preprocessor symbols redefinitions In afskfw.h avoid preprocessor symbol redefinitions when RD_AP_TIME or INTK_BADPW are already defined. Change-Id: If123c7a7564c5dbe509ad107f2c856e96e562d33 Reviewed-on: http://gerrit.openafs.org/4558 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-on: http://gerrit.openafs.org/4566 commit 1b577bb643d8d68183bb6396ccb4b7722b8bee4d Author: Jeffrey Altman Date: Mon Apr 25 21:24:32 2011 -0400 Windows: NPLogonNotify provide password in all cases When calling KFW_AFS_get_cred() from NPLogonNotify() always provide the user password. Do not count on a credential cache existing from a previous call. Change-Id: I24c51395f22c07b11107c03dc749a7c2eff694f7 Reviewed-on: http://gerrit.openafs.org/4557 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-on: http://gerrit.openafs.org/4565 commit 89196a625e11cc1c717ab1154693e1439086134f Author: Jeffrey Altman Date: Mon Apr 25 21:23:34 2011 -0400 windows: improved logging from NPLogonNotify Improve the detail and formatting of the windows event log entries. Change-Id: I28350202b954765c570582540fac180bd1f68206 Reviewed-on: http://gerrit.openafs.org/4556 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4564 commit d0edfe441bac4b802b2957bfb331ad04417a2acb Author: Andrew Deason Date: Fri Apr 15 11:18:37 2011 -0500 AIX51: Fix PAGs On AIX 5.1 and later, we set a process' PAG by using the AIX PAG mechanism (and not by group ids), but we were determining what PAG a process was in by the group list. Instead use the PAG identifier. This effectively reverts 277c37f48c8126ba9cb986ffc7361fcb98e2bbf2, but it puts the kcred_getpag call in a different place that makes more sense in the current PAG code organization. Change-Id: Ifbc2602cfa9f32bf5d9b53b71fc67fe0761394ea Reviewed-on: http://gerrit.openafs.org/4479 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/4503 commit b6a4792b84bae661128dfa245cba541a7b9837d9 Author: Simon Wilkinson Date: Thu Apr 21 16:07:05 2011 +0100 Linux: Restrict # of cbrs we allocate at once With commit a309e274632993c5aeec04c6e090f5ac95837a40, we changed the number of CBRs that we allocate in a chunk from 300 to 1024. However, this change takes the amount of memory requried to allocate a chunk of CBRs above PAGE_SIZE on Linux. This changes the allocator that we use from kmalloc to vmalloc. Whilst we can, and do, prevent kmalloc from flushing filesystem pages when we invoke it, we don't have a similar level of control over vmalloc. 1.6 only: limit it back to 300 elsewhere. In one reported case, clients deadlock whilst attempting to allocate this memory, in a call stack that looks something like: afs_Daemon -> afs_ShakeLooseVCaches -> osi_TryEvictVCache -> afs_FlushVCache -> afs_QueueVCB -> afs_AllocCBR -> osi_linux_alloc -> ... -> __vmalloc_node -> ... -> try_to_free_pages This is probably because we end up deadlocking in the writeback invoked by try_to_free_pages, likely due to locks which are held by ShakeLooseVCaches. As a quick fix for the problem, make sure that the memory we allocate always fits within a page, so we always use kmalloc for it. FIXES 129751 Reviewed-on: http://gerrit.openafs.org/4510 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit 3cb97cdaa867b0d9fef84c683251a0a8f59a1519) Change-Id: I28a480788271eac1b69fb9704bed5c286be2c4c5 Reviewed-on: http://gerrit.openafs.org/4555 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 270861f67f09e6f22ec5c54105f287b23fa9d9ae Author: Jeffrey Altman Date: Mon Apr 25 07:58:49 2011 -0400 Windows: remove trailing whitespace remove trailing whitespace from NTMakefile *.h *.c *.cpp *.idl *.def *.txt *.htm Change-Id: Ia1e44d8e15c1e4e076cc6d9bda42ffeaef943f76 Reviewed-on: http://gerrit.openafs.org/4548 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ebf5329e8ca1b3c0b581f436b28f6affe2c7c454) Reviewed-on: http://gerrit.openafs.org/4549 commit 41f48eb4e15817992c536939efeff594d6206559 Author: Simon Wilkinson Date: Thu Apr 21 18:18:54 2011 +0100 Darwin CM: afs_IsDynrootFid takes a fid ... ... not a vcache. Reviewed-on: http://gerrit.openafs.org/4511 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit b178496063be6d95f301ae13c3e655c8fe94febc) Change-Id: If77fd99c5b96b243e1a5aee10f93c75fcca3cc94 Reviewed-on: http://gerrit.openafs.org/4552 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 082a217cfae58dd1a7a04d12de0f2b5339d2e74a Author: Simon Wilkinson Date: Mon Apr 25 13:56:38 2011 +0100 Windows: Remove duplicate file The 'Streamfiles.txt' file had been committed with both that name, and an all lower case name. This makes git very sad on systems with case insensitive filenames. Change-Id: Ifc61e8b2366d8a191279f6ccbe394e55ffe15fef Reviewed-on: http://gerrit.openafs.org/4550 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit ce256d586468911d5501f667c53247a837378c06) Reviewed-on: http://gerrit.openafs.org/4551 commit 3cbd777eff4145388b6f238b5ca2e14d8ab182a5 Author: Jeffrey Altman Date: Tue Apr 19 13:17:56 2011 -0400 Windows: change thyper to offset and fix error In cm_ReadMountPoint and cm_HandleLink the variable 'thyper' represets the 'offset' at which cm_GetData should fetch data. Rename 'thyper' to 'offset' and fix a coding error caused by misinterpreting the variable purpose. Change-Id: Icdd2493e356803b4b2bd00c7349d8d882283d29b Reviewed-on: http://gerrit.openafs.org/4501 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4523 commit 314bc2e0082edea04ffb6908e2479be904b21b8e Author: Jeffrey Altman Date: Tue Apr 19 00:12:49 2011 -0400 Windows: avoid race when writing mountPointString cm_GetData() drops the cm_scache_t rw lock which permits other threads to access the data while it is in an inconsistent state. Avoid the race by using a stack allocated temporary buffer to receive the data from cm_GetData(). Only copy the data into the mountPointStringp buffer under the rwlock. Change-Id: Id5ab3c5ed7c76551d53fedea96eeded59c2c699d Reviewed-on: http://gerrit.openafs.org/4498 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4522 Tested-by: BuildBot commit 2d6f45161c65f3eaf2ca7f05ebbeb335e2e72fad Author: Andrew Deason Date: Thu Apr 21 14:24:45 2011 -0500 aklog: Return token when performing 524 conversion We weren't actually returning a token and username from rxkad_get_converted_token. Do so. This is a 1.6-specific change. This issue was fixed on master when aklog was changed to use the new SetTokenEx family of pioctls in commit 53837416cbed3ba4d11f63015e1f13800519f2ed. Change-Id: I7395034c5225ca62b562ea39bd01762c74090b03 Reviewed-on: http://gerrit.openafs.org/4518 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit 0d1a063072575bd44378b09b01e9e2fffe5a032e Author: Jeffrey Altman Date: Tue Apr 12 11:48:27 2011 -0400 asetkey: permit des-cbc-md5 and des-cbc-md4 keys A DES key is a DES key. Permit importing CRC, MD5 and MD4 when using non-MIT keytab support. Add a special error message that specifies what principal name, kvno, and enctype were being searched for when the error is KRB5_KT_NOTFOUND. Change-Id: Ie04e86fc5516064a67d7804cc47f2e27a30ea7ea Reviewed-on: http://gerrit.openafs.org/4459 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a26f4b188172ed157b4ddf9006e46186702b5b56 Author: Andrew Deason Date: Tue Apr 12 16:30:55 2011 -0500 libafs: Do not specify an Rx busy channel error Do not specify an error for Rx busy channels in libafs, so we do not get notified of busy channel notifications. The current code just specifies RX_CALL_TIMEOUT for the busy channel error, which has problems (in particular, for RXAFS calls that are not wrapped in an afs_Analyze loop). So, disable this behavior. This is a 1.6-specific change. The master branch will instead get fixes for this functionality, and it will get turned on in 1.6 again as appropriate. Change-Id: I0ed292a61ba4c8d0e59017b3dfaadc88d17591e6 Reviewed-on: http://gerrit.openafs.org/4460 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a90ef45858e30b6319b15150c9b4f70ececb212d Author: Antoine Verheijen Date: Mon Mar 28 10:05:40 2011 -0600 OpenBSD: Complete implementation of afs_osi_TimedSleep The OpenBSD version of afs_osi_TimedSleep() is missing the required afs_event structure and afs_getevent routine. This update adds them (by borrowing a copy of the code from the FreeBSD implementation). Reviewed-on: http://gerrit.openafs.org/4373 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a4b8823950d0d7f3806fe9e7aed22502b72a79e4) Change-Id: I1886cbb995a6c3e6ef3d4cc73895215d6293fe15 Reviewed-on: http://gerrit.openafs.org/4388 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a8aa6f4221309f44f49cdd00acce88122f1753f6 Author: Marc Dionne Date: Sun Mar 27 10:59:55 2011 -0400 Linux: 2.6.39: replace path_lookup with kern_path path_lookup is no longer available, use kern_path instead. Reviewed-on: http://gerrit.openafs.org/4360 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 7d162266c4958b22cc45d65e3f204a96c218e5f6) Change-Id: I1c2aba273d1d597346ecb92f75caed6b6d624454 Reviewed-on: http://gerrit.openafs.org/4371 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 1e322b883e036fe0bd5468fe60a0431545fe2376 Author: Marc Dionne Date: Sun Mar 27 11:20:17 2011 -0400 Linux: 2.6.39: deal with BKL removal For 2.6 kernels the OpenAFS code is already BKL free, but the corresponding header file smp_lock.h is still included in various places. This header no longer exists, so remove all occurrences outside of LINUX24. Reviewed-on: http://gerrit.openafs.org/4361 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 9376293634393597ac7db88593100937621f6c3f) Change-Id: I8e7e244b2e45a7a3af0505531757b8a54a0b3d29 Reviewed-on: http://gerrit.openafs.org/4370 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 35009a884611d543aff36a0758171798efea5168 Author: Jeffrey Altman Date: Sat Mar 26 13:05:26 2011 -0400 Windows: change log for 1.5.9904 (1.6.0pre4) Reviewed-on: http://gerrit.openafs.org/4347 Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit 620ec4382fbf79908c62e4ce1e451b8743e457ac) Change-Id: Id226e7534ca5d7fee623d3b3a24edac76b354685 Reviewed-on: http://gerrit.openafs.org/4372 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 39a861f0cf10313323219409a2a7095f0fffd9e0 Author: Andrew Deason Date: Fri Mar 25 16:37:30 2011 -0500 SOLARIS: Correct ioctl syscall error handling Do not use the return code from ioctl for errno. Ioctl itself will set the errno and return value correctly, so don't mess with them. Reviewed-on: http://gerrit.openafs.org/4345 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit 99ed22fb02a3b44c03327a1fdd5ef56e211724b6) Change-Id: Ie7ba95f14a2c34f11b358b482bd58bdacba6bed6 Reviewed-on: http://gerrit.openafs.org/4369 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8f7ae330d6491dae015c52ae1a3cf0e2333a349b Author: Andrew Deason Date: Fri Mar 25 15:54:01 2011 -0500 viced: REALLYCLOSE origfdP after CoW In StoreData_RXStyle, we save a pointer to the original FdHandle_t if we need to CopyOnWrite the target vnode, for the purposes of possibly copying additional data later on. After the CopyOnWrite call, this points to an inode that is not in the current volume, and is thus less likely to be accessed. In CopyOnWrite itself, the original file handle is FDH_REALLYCLOSE'd because of this, so the handle does not remain in the cache. Do the same in StoreData_RXStyle, so origfdP is always FDH_REALLYCLOSE'd after we have called CopyOnWrite. Reviewed-on: http://gerrit.openafs.org/4344 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 55781a831954cb1e7253a12e0f9b581b586c3603) Change-Id: I184a7e0b0ac05361c491821bc6a3756db3e24221 Reviewed-on: http://gerrit.openafs.org/4352 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3133fb26ed6730a735c09129a7097fa56630f07e Author: Ben Kaduk Date: Fri Dec 17 01:16:30 2010 -0500 new files for FreeBSD packaging at 1.6.0pre3 Packaging for use with FreeBSD's Ports Collection. The directory layout is flattened, and a couple of files that do not make sense here are not included. The afsd rc script lives in packaging/ as it is not runnable in its committed form, it requires variable substitution that occurs at install-time from the Ports Collection. Reviewed-on: http://gerrit.openafs.org/4351 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7b4da89c8ed266959ec8d3ae4f6627b096206dee) Change-Id: I0051b9d609736fc172a7c3fefd23cb910b4543e6 Reviewed-on: http://gerrit.openafs.org/4355 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit db18dd847694d95f53c3eeec8d444fc911e503f3 Author: Ben Kaduk Date: Sun Nov 21 23:32:37 2010 -0500 Remove outdated rc file for afsd on FBSD The semantics of rc scripts have changed drastically since this was written. It will need to be rewritten from scratch; the new version will live in src/packaging/FreeBSD as afsd.in, as it is included with the port packaging in that form. Reviewed-on: http://gerrit.openafs.org/4350 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit dce071acef1119aceca7eb80a66c035fb03e9259) Change-Id: I17bd69033e51bc5c59d70f982f8deb04fd18d5b4 Reviewed-on: http://gerrit.openafs.org/4354 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 84b37573013cf466dd195d748cc316e66dc39031 Author: Ben Kaduk Date: Sat Nov 6 00:30:12 2010 -0400 Remove stale FreeBSD packaging We no longer use the Transaarc paths, and the rc environment and packaging methods are quite different now. Reviewed-on: http://gerrit.openafs.org/4349 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f901c0f5258c14f5d04d9b64ca5b472c468f60bd) Change-Id: I764eb311082fbaf2b6b918f9023b53f0f3f67872 Reviewed-on: http://gerrit.openafs.org/4353 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7cfdf1ae21676bc83478057b4296160003bdbf7b Author: Andrew Deason Date: Thu Mar 24 17:57:32 2011 -0500 salvager: Stop asking for DAFSness on SYNC_FAILED Break out of the loop so we stop asking the same thing repeatedly. Reviewed-on: http://gerrit.openafs.org/4315 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c5be1f72875bcb083a9ddef4621efecf62aa880e) Change-Id: Ia90d4d439d054b95d8ea686ab853fb2067e19d38 Reviewed-on: http://gerrit.openafs.org/4337 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 89c6f7382fb1bde29d1bd2ced4e14d48494cab41 Author: Andrew Deason Date: Wed Mar 23 17:38:35 2011 -0500 DAFS: Allow the volumeSalvager to checkout volumes Reviewed-on: http://gerrit.openafs.org/4298 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ad0afb57b9172bb7cfa0853b5f34259c0958d248) Change-Id: I1eac22970f5665c7bdb2138ae380b59263836d99 Reviewed-on: http://gerrit.openafs.org/4336 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3734da6e022687ac16906f5954c30e20fa9d7c94 Author: Derrick Brashear Date: Thu Mar 24 16:11:17 2011 -0400 add AFS_DEMAND_ATTACH_UTIL use this for non-pthreads "support code" e.g. salvager. Reviewed-on: http://gerrit.openafs.org/4312 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit 04bcfa2821c9deba151f562bb78452276d8d7443) Change-Id: If956be50059ac128b5880131f961342c2661e5b7 Reviewed-on: http://gerrit.openafs.org/4335 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 696fbd86b6f3a864439d72a2b3a55052e2e251cb Author: Jeffrey Altman Date: Fri Mar 25 08:58:20 2011 -0400 Windows: trailing dot not part of volume name When dynamically adding new cell mount points to the Freelance directory do not include a trailing dot when specifying the root.cell volume name. Change-Id: I23e47791b412f8f6260ca921daaf0200b19f4179 Reviewed-on: http://gerrit.openafs.org/4334 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit e7099ec0aeedf8119a274419064d2903bd790cd4 Author: Jeffrey Altman Date: Wed Mar 16 02:17:38 2011 -0400 Windows: avoid recursive cm_CheckOfflineVolume Add a new cm_req_t flag CM_REQ_OFFLINE_VOL_CHK which is used to prevent cm_Analyze() from performing recursive cm_CheckOfflineVolume operations that will exhaust the stack. Reviewed-on: http://gerrit.openafs.org/4240 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 11ad1e467f9708f12fe09228cbb827b8f4e1225b) Change-Id: I3385d7b5a90e77ba8d6c87b9f29f39b62c17bb23 Reviewed-on: http://gerrit.openafs.org/4314 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman commit 713893a2052cdc0ea35c323eabbd6becd387c453 Author: Andrew Deason Date: Wed Mar 23 11:07:03 2011 -0500 DAFS: Do not VDeregisterVolOp_r while exclusive We should wait for a volume to transition out of an exclusive state before calling VDeregisterVolOp_r on a volume, since some code may be examining the vol op outside of VOL_LOCK in an exclusive state. We should be doing this anyway before performing volume state checks, since we may be trying to e.g. attach the volume at the same time. Reviewed-on: http://gerrit.openafs.org/4287 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit d4ebebd0c3f89b65e93f0da6d53665271e6d2a61) Change-Id: I55f07806a4e089577252ddb527a86142b10f797d Reviewed-on: http://gerrit.openafs.org/4306 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ec8456884f5eeaaa5da6bacc35a40568cbe37085 Author: Russ Allbery Date: Thu Mar 24 12:56:56 2011 -0700 Correctly document the AFS client setuid defaults AFS no longer honors setuid status by default. Update the admin guide documentation appropriately and add a warning recommending against enabling setuid status given the limitations of the current AFS protocol. Reformat this section of the admin guide to make it easier to maintain. Reviewed-on: http://gerrit.openafs.org/4311 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7b00c17b49fe6a54f99f3c23bfc307a4b10d88e2) Change-Id: I0dd638c37a116f39f93f08cc41c400f43a685940 Reviewed-on: http://gerrit.openafs.org/4313 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0263a96a987032bf8a04ce47bc3c70afebd87125 Author: Russ Allbery Date: Tue Mar 22 02:04:46 2011 -0700 Update NEWS for 1.6.0pre3 release Add additional NEWS entries from the 1.6.0pre3 release notes. Reviewed-on: http://gerrit.openafs.org/4270 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit d4e8b729d8f216e9f033e95194740ff4cb566688) Change-Id: Ic64819d6182c57e081e0e0d85c3629a3f7c11ed3 Reviewed-on: http://gerrit.openafs.org/4310 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dfde656b6a1f0831ac537586aa0746b46ea93b88 Author: Russ Allbery Date: Mon Feb 14 12:36:18 2011 -0800 Update 1.6 NEWS entry based on 1.6.0pre2 release notes Reviewed-on: http://gerrit.openafs.org/3950 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit f378dcf785967374309523a02ea06d6d1a3ff148) Change-Id: Ic5625c6eb32238b177716c0f87ea6e62521a9de8 Reviewed-on: http://gerrit.openafs.org/4309 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eb276810213418c7f8b00b63e92fc465ecd22ec2 Author: Simon Wilkinson Date: Wed Mar 23 15:35:35 2011 +0000 rpm: Build srpms without %dist in their name On RHEL6, %dist is set for all RPMS and SRPMS built on the system. This leads to makesrpm.pl building SRPMS with .el6 in their release. As we endeavour to use the same SRPM on all of our Fedora platforms, this is less than ideal, so change makesrpm.pl to squash the setting of %dist before building the RPM. Reviewed-on: http://gerrit.openafs.org/4285 Reviewed-by: Alexander Ivan Redinger Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b0921071dd1b4d460d406985bba9619561444055) Change-Id: I9e5bb2ce13378a0927763535d885a4728bd48f06 Reviewed-on: http://gerrit.openafs.org/4307 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f8c1bebf88de7376628c86eb3a7250bb78024510 Author: Derrick Brashear Date: Wed Mar 23 14:17:25 2011 -0400 macos next support first brush at supporting next macos. totally not lion about it. (cherry picked from commit XXX) Change-Id: I4ede2a940c3881b588117c2b80f62f71563e78ce Reviewed-on: http://gerrit.openafs.org/4291 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 829dd0bfc0f3315eb885373420fce684b55825b2 Author: Derrick Brashear Date: Wed Mar 23 14:11:31 2011 -0400 osconf: reduplicate systype stuff in some cases there is more to do, and in some cases we probably already didn't build anymore, but, let's simplify. (cherry picked from commit XXX) Change-Id: I48248c2fc081413536763f09608e00153c4ea3ee Reviewed-on: http://gerrit.openafs.org/4292 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 911b2583045bf1609b7f04571cbfd8b3c1df0389 Author: Andrew Deason Date: Thu Mar 10 18:37:44 2011 -0600 vol: Correct VolumeNumber for large volume IDs VolumeNumber was using atoi to convert a volume header name to a volume ID. This can return just -1 for volume IDs larger than 2^31-1, though, so use strtoul instead. Reviewed-on: http://gerrit.openafs.org/4199 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 0f1c921fa1738c383fd576e287f356dd13f92a58) Change-Id: Ib56d3f77f0d90f5ad55b3c0de89632d271436f7e Reviewed-on: http://gerrit.openafs.org/4284 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 4d691ae10903e01db4d6b24a4eb02da536cadf7c Author: Andrew Deason Date: Wed Mar 16 14:44:56 2011 -0500 salvager: Fix volume parsing on 64-bit When an unsigned long is wider than an afs_uint32, comparing the afs_uint32 vid to ULONG_MAX is always going to be false (which the compiler can warn us about). Fix this by storing to an unsigned long, and converting to a volume id after ensuring that the result is not too large. (cherry picked from commit ce5e263b488f8cb85662031ee08eea448dab2d27) Reviewed-on: http://gerrit.openafs.org/4244 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: Iec2d640daed1e9c175d17823750f272297f890a7 Reviewed-on: http://gerrit.openafs.org/4283 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 12507bcd2f3313fb97cb926a3eea67e0cd6e05ed Author: Andrew Deason Date: Thu Mar 17 10:43:23 2011 -0500 viced: Actually print client CPS Client CPS was not getting output on SIGXCPU like the rest of the client information, since the conditional in the CPS loop was never true. Fix this so we traverse the CPS entries correctly. Reviewed-on: http://gerrit.openafs.org/4256 Reviewed-by: Simon Wilkinson Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 5df51a82947f0ff60d57f551c5faa136ad7f6e0f) Change-Id: Ic710d9ab4da5dc1fdb4a1ffca72590b043bff918 Reviewed-on: http://gerrit.openafs.org/4282 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c31d20162b3648c2f16286f6ceb09f141abd9207 Author: Derrick Brashear Date: Tue Dec 7 21:26:59 2010 -0500 DAFS: fix forceDAFS support in salvager we need to get the shared partition lock for the per-volume forceDAFS case Reviewed-on: http://gerrit.openafs.org/3487 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 81e7a5adf93a6b5eec104ca4bde429cf6cb0548a) Change-Id: Ie7c6a43d25c621a3faca2a6564fbc06f9af87880 Reviewed-on: http://gerrit.openafs.org/4278 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 893feb97db3638c6f7a222aabf35b63e76e590b4 Author: Derrick Brashear Date: Tue Dec 7 21:23:53 2010 -0500 DAFS: allow salvager to detect whether FSYNC server is DAFS in order to enable the right commands and print the right errors, query for DAFS-only FSYNC op. doesn't use bozo InstanceInfo as it's possible you can run fileserver outside of bos. (cherry picked from commit b9ecf28c6c7c232823ac9b44cd00db9afab81c91) Reviewed-on: http://gerrit.openafs.org/3486 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: If53edc8d100d5eacaf4aaad9feee96211e24e1a2 Reviewed-on: http://gerrit.openafs.org/4277 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d0a4f7a6fce300463f11e6c2430cb94df3aaeb5d Author: Derrick Brashear Date: Wed Mar 23 10:54:15 2011 -0400 openafs 1.6.0pre4 set version for 1.6.0pre4, and phasers for stun. Change-Id: I43e36633b679f9af6156025842f2e1556fcbb17b Reviewed-on: http://gerrit.openafs.org/4276 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 21a2c79b76a88640189276c64bd781867ba19357 Author: Simon Wilkinson Date: Thu Mar 17 19:14:39 2011 +0000 rpms: Use new CellServDB Update the CellservDB referenced by the spec file to the latest one from grand.central.org Reviewed-on: http://gerrit.openafs.org/4257 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 71380ee4f3522ba64ed60724a928f8efc16ca132) Change-Id: I0f08b145073faca5d0dda2c6460e57dc448b3450 Reviewed-on: http://gerrit.openafs.org/4281 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ca878f0eac4775f02967e9df31f54a28573f12dd Author: Simon Wilkinson Date: Thu Mar 17 19:28:23 2011 +0000 rpms: Make makesrpm.pl cater for new rpm names Starting from 1.6.0, our specfile no longer adds a stray '1.' to the start of the release field. makesrpm.pl was failing to deal with these new-style names and therefore not actually making an rpm. Fix this by conditionalising on the OpenAFS version when selecting which rpm to copy. Reviewed-on: http://gerrit.openafs.org/4258 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Derrick Brashear (cherry picked from commit af854b4e2f19e5f1a83b686e99ca3dd6122af942) Change-Id: I95bc506e1113d0054b2aaca3a301551de1f086db Reviewed-on: http://gerrit.openafs.org/4280 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 35451a9d436d6359faab933fd2432b84f5dddf8e Author: Simon Wilkinson Date: Sun Mar 20 21:13:09 2011 +0000 util: Fix exec_alt exec_alt was failing its tests on Mac OS X (but passing them on Linux). It turns out that this is because it was failing to NULL terminate the string that it creates in construct_alt(), which copies in the characters from argv0, prefix and suffix, but never copies in a trailing NULL. Amend the code so that the trailing NULL from suffix is used to terminate the string. Reviewed-on: http://gerrit.openafs.org/4267 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit 8c418408016ff8d6be9f85c4666a49954f61dbd0) Change-Id: Ie34832eb94f91a6e9083f65aa81333cb7b1fbb30 Reviewed-on: http://gerrit.openafs.org/4279 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d844910d7545df7b66625edcdb5ea2caaf21f341 Author: Jeffrey Altman Date: Tue Feb 17 04:37:27 2009 +0000 vclosevnodefiles-ihandle-leak-20090216 LICENSE IPL10 FIXES 124359 don't leak ihandles on close. this isn't a complete fix for the issue (cherry picked from commit b9816e12f7ed8213c9c4eaea09e992e69ce4ee05) This reverts the part of 12e85227c5dbfdb1258718ee3360bffacc4f96ac that reverted b9816e12f7ed8213c9c4eaea09e992e69ce4ee05. Reviewed-on: http://gerrit.openafs.org/4272 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ef9fc4fadaded1c0ea067b2fd1d423df826606ae) Change-Id: Ieeea51fd247ff4fc1b1da03c94a905c293b9fb7e Reviewed-on: http://gerrit.openafs.org/4275 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d260d9d7ede14123010b96e133a9ac210a432dce Author: Derrick Brashear Date: Thu Mar 17 00:11:43 2011 -0400 osx: prefs pane should properly detect version we use "new" afs conf after 1.4.6 or 1.5.36. detect correctly Reviewed-on: http://gerrit.openafs.org/4254 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 0016e013aa012e179e7ac4c59b19a0ee1cbd0840) Change-Id: I6796dee249eccd7646359deb8f29322b9954f803 Reviewed-on: http://gerrit.openafs.org/4269 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9cb1d688ea96923d2b5abacdcbf9cf755e2145e5 Author: Derrick Brashear Date: Thu Mar 17 01:25:35 2011 -0400 osx: decode-panic should work in add-kext only land in 64 bit 10.6, you need add-kext (not add-symbol-file) to decode a panic. deal accordingly Reviewed-on: http://gerrit.openafs.org/4255 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c4744cc699be19fffb49f39f469e91ef6aac6585) Change-Id: I3de2c4799ff1a552e67d4398b76e8736ba2abf7e Reviewed-on: http://gerrit.openafs.org/4268 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 74f56c447de1878427655c1394e1805081b65333 Author: Derrick Brashear Date: Wed Jan 19 23:11:11 2011 -0500 MacOS: allow cdead vcaches to be found in FindVCache if requested if we are trying to find a dead vcache, let it be found, don't immediately attempt to recycle FIXES 128511 (cherry picked from commit d73d9a1011cc3e1e5acfbc970434373f732c066e) Change-Id: I4dde25e54e3d76faff58c8e42d0949493aa986f3 Reviewed-on: http://gerrit.openafs.org/4243 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 95fd8e09d80e3fbefe66ad0b5309b9844b92a12d Author: Derrick Brashear Date: Wed Mar 16 01:06:43 2011 -0400 macos: kernel socket upcall support kernel socket upcall instead of listener env (cherry picked from commit c10f5296d26eac9ac00018199ef579e8f6095c07) Change-Id: Iaad3138106475219194772491d3e0915d60c466e Reviewed-on: http://gerrit.openafs.org/4238 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ee2811b01f3c34d3f07802ff88e2577da1caef6d Author: Andrew Deason Date: Thu Sep 30 12:39:22 2010 -0500 viced: Allow checkout of VOL_STATE_DELETED volumes The fileserver allows nonexistent volumes to be checked out. Since VOL_STATE_DELETED volumes conceptually do not exist, we should also allow them to be checked out. Reviewed-on: http://gerrit.openafs.org/2873 Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 88fc9ada4cfaee354199480916d139400ee0ef5b) Change-Id: I24bf2100bf57a27323cd0e9e5081e767e67c944e Reviewed-on: http://gerrit.openafs.org/4261 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 17b48f99b60ed0f67270d4649ee9bdcda9a7cc59 Author: Simon Wilkinson Date: Tue Mar 15 21:48:43 2011 +0000 Throw the compiler a bone ... ... failing that, a semi colon. Reviewed-on: http://gerrit.openafs.org/4234 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ffdc040d560a461abd59602ad62ba2fbf150227f) Change-Id: I6dc924df277da7e650d6ae26f8520b23be10db3e Reviewed-on: http://gerrit.openafs.org/4235 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7ac00619358c7a1b1749440e4c4ca6510ff87687 Author: Jeffrey Altman Date: Mon Nov 29 17:47:10 2010 -0500 Windows: permit code signing without timestamps If CODESIGN_TIMESTAMP is not defined, permit code signing to occur but do not ask signtool to contact a timestamp server. Change-Id: Iaac89f8db96c9428481a638fc72f8d14c53e2045 Reviewed-on: http://gerrit.openafs.org/3393 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4231 commit 66885074b3cf2f1f3c2facedad2e95600b9573c0 Author: Jeffrey Altman Date: Wed Nov 17 21:42:00 2010 -0500 Windows: Add CODESIGN_OTHER option to make signtool rules Some organizations may need to pass additional parameters to signtool.exe. Add the optional CODESIGN_OTHER value to permit arbitrary additional parameters to be specified. Change-Id: I225a790e04d8aa1298bbf03a9559ae0b5e63a70d Reviewed-on: http://gerrit.openafs.org/3322 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/4230 commit 449d114b475e20535610ee8eed8715fa8071f288 Author: Simon Wilkinson Date: Tue Mar 15 00:45:45 2011 +0000 Linux: Fix return codes from setpag Linux is a real stickler when it comes to error codes. Functions which return positive error codes into the kernel tend to have unfortunate effects. Because all AFS errors tend to be positive, most of our kernel entry points negate errors before passing them back to their caller. This causes problems when internal functions themselves return negative error codes. This was the case with the keyring functions, which ended up returning a negative code to setpag(), this handed that code ultimately up to the ioctl handler, which negated it (so turning it positive) before throwing it up to the kernel. The kernel sees this positive value as being a successful return, and so passes it direct to userland, rather than assigning it to errno. This led to the setpag() userspace function never being aware of keyring errors that had occurred in the kernel. Fix all this by making sure that all errors from the keyring code are made positive before being passed upwards in the kernel module. Reviewed-on: http://gerrit.openafs.org/4223 Tested-by: Marc Dionne Reviewed-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 3d92852ba99bc7591515992dfea3436d93c23b85) Change-Id: I72177ad2ee6d0a2c2c3f6d6819289a761b2712f0 Reviewed-on: http://gerrit.openafs.org/4226 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit de478ca8ac14b991082bf0f26fb9807a913980a0 Author: Simon Wilkinson Date: Tue Mar 15 00:06:19 2011 +0000 Revert "Linux: normalize error return for emulated syscalls" This reverts commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb. Sadly, this change fixed setpag(), but broke all of the pioctls. The problem is actually a little more nuanced than we at first thought. What's happening is yet another case of Linux's special handling of negative return values. When an ioctl handler returns a negative return code to the kernel, it does errno = -code, and sets the return code to -1. If you pass it a postive return code, however, it just returns that straight to the application. The pioctl code gets this right. However, the setpag code doesn't, and so tries to return postive values, which is why ioctl appears to be returning the error code in the return value, not in the errno. Reviewed-on: http://gerrit.openafs.org/4222 Tested-by: BuildBot Tested-by: Marc Dionne Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear (cherry picked from commit ff2933a122ddf9421ebcacdc7e4ec5f44333f894) Change-Id: Ibfb050552f8b2357e57139976e2bc42ce6187f4f Reviewed-on: http://gerrit.openafs.org/4225 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a7821f0bb503acf6c10547aeb29952768ef1127c Author: Jeffrey Altman Date: Mon Mar 14 22:55:26 2011 -0400 Windows: 1.6pre3 changes Change-Id: Ia4d504c2f9478f88c219375b92cdcb203defddfc Reviewed-on: http://gerrit.openafs.org/4228 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 53d991474d8a8a885697cbdfb975f3a55500aa58 Author: Jeffrey Altman Date: Fri Mar 4 11:04:40 2011 -0500 Windows: mp target trailing dot not part vol name Instead of passing "root.cell." into cm_FreelanceAddMount pass in "root.cell" and add the trailing dot within the function. Reviewed-on: http://gerrit.openafs.org/4124 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 0d1335ad7104a6fa67525b84d70a33e7bb1b6c6a) Change-Id: I27b077c7fd9e8ea5cb67da96b5172d69623e1122 Reviewed-on: http://gerrit.openafs.org/4221 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 2a4a4c715928c9c8e34e7d1285e753ea0c05cec1 Author: Jeffrey Altman Date: Wed Mar 2 14:06:48 2011 -0500 Windows: avoid use of cm_buf for MPs and Symlinks In the Windows cache manager, the symlink and mount point target strings are stored in the cm_scache_t mountPointString and are not accessed out of the cm_buf_t for offset zero except when populating the mountPointString. As a result, every mountpoint and symlink object that is read into the cache wastes a cm_buf_t which could otherwise be used to store additional file or directory data. Add cm_GetData() function which is similar to cm_GetBuffer() except that it reads data from the file server into an arbitray memory location instead of a cm_buf_t object. Use cm_GetData() to read directly into the cm_scache_t object. In addition, further optimize the communication with the file server by using cm_GetData() to perform a RXAFS_FetchData RPC to obtain both the target string and the status information instead of RXAFS_FetchStatus which only returns the status information in cases where there are no outstanding callback registrations on the object. RXAFS_FetchStatus is still used when a callback is active in order to obtain access permissions for new users. Reviewed-on: http://gerrit.openafs.org/4111 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit dec0ba1cfaf7dd6a4ed23a2f656bd6272600d51c) Change-Id: I2ffa85193ffeb35c9558224985ba7485ec617712 Reviewed-on: http://gerrit.openafs.org/4220 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit cf532f7c8845e70df27fe45e7242db170f00babc Author: Michael Meffie Date: Mon Mar 14 10:15:35 2011 -0400 readme typos Fix two typos in README. Reviewed-on: http://gerrit.openafs.org/4218 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ba67ef96bb5216ecb03d656af22b3b7f7542efef) Change-Id: Id202785ee2568bd625c1e781574d21dae3488982 Reviewed-on: http://gerrit.openafs.org/4219 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fbd4a43ddf5131cb597d46cff0419e7685e3210d Author: Simon Wilkinson Date: Sun Mar 13 14:45:04 2011 +0000 pt_util: Initialise empty database correctly Commit dc8f18d6f5003712bc9ef989363137a84953df07 broke pt_util's initialisation of empty databases. This is because Initdb was changed to call Initdb_check through the ubik_CheckCache wrapper. However, that wrapper was defined as a no-op in pt_util's ubik-shim. Modify pt_util's ubik_CheckCache so that it always calls into the wrapper routine - this mimics the old behaviour. Add a trival test for pt_util - check that we can build the database, using the example from the manpage, and then that the built database matches what we expect. (cherry picked from commit 4953ce8070497bc494e624d72271bcbc5dc1dbe7) Reviewed-on: http://gerrit.openafs.org/4211 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: If4cfbda25f8d1c5e1da4c1e42982c74becf386e3 Reviewed-on: http://gerrit.openafs.org/4217 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c97ec074977563b756e9ad1c9773c5880965c664 Author: Jeffrey Altman Date: Fri Nov 19 00:07:36 2010 -0500 Windows: conditionally set tray icon state If the checkbox IDC_TRAYICON is not present in the dialog, do not attempt to use its value as a setting for Config_SetTrayIconFlag(). FIXES 128591 Change-Id: Iff5ef4993f082e73cca93e79d17f49cc15b6264f Reviewed-on: http://gerrit.openafs.org/3331 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/4207 commit 19d89b94811d93b8a755f7e602d757e7a5c89765 Author: Derrick Brashear Date: Fri Mar 11 08:27:24 2011 -0500 make openafs 1.6.0pre3 create version 1.6.0pre3 in the various bits we need it Change-Id: Ia5768d097b1f4fa0df911db6d9d094584405c4db Reviewed-on: http://gerrit.openafs.org/4205 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 943f463775516875b411a4a0b7a3e9673179051b Author: Chas Williams (CONTRACTOR) Date: Fri Mar 11 13:33:50 2011 -0500 solaris: fix typo in the solaris 11 startup script /etc/devlink.tab not /dev/devlink.tab Reviewed-on: http://gerrit.openafs.org/4206 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7e68671f6acf66b568672d94b37ef456b1de8813) Change-Id: I88f9ae47fcbb2878cc099fe783c72c32cc0b4a92 Reviewed-on: http://gerrit.openafs.org/4208 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 205a787bdb459c3c7d8acf79c6b108120d3a9f0c Author: Andrew Deason Date: Tue Dec 7 10:50:31 2010 -0600 SOLARIS: Free vcache mappings on shutdown Right before shutdown, go through all of our vcaches and flush them, freeing any pages associated with the vcaches. If we don't do this, pages associated with our vcaches may still be around after we shutdown and the module is unloaded, causing a panic when the kernel tries to deference the page's vnode. Abstract out afs_freevfs() following the gafs_foo/afs_foo convention from the vnode ops, since we're calling this in two different places. Reviewed-on: http://gerrit.openafs.org/3472 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 592a33a4787db88993a7bf9d8f5ad8c11a576b56) Change-Id: I809d10d2eceb7d0db92b3d149b13de0dc9221958 Reviewed-on: http://gerrit.openafs.org/4194 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit d83e8626db9c5dfca0402ab22796b02333503cc9 Author: Derrick Brashear Date: Thu Feb 17 00:04:06 2011 -0500 linux: defer vcache evictions when sleep would be needed because we're only willing to loop 100 times worth of "sleeps", on a machine with heavy vcache demands we can end up just growing the list huge. in the first pass, just clean up as many entries which do not require sleeping as needed. if we need more entries, make a second pass. Reviewed-on: http://gerrit.openafs.org/3971 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit 3105c7ff0b4ae9c372dc4c1424f63b7f259dcda1) Change-Id: Iced11ca56ced5971ab0cb8dbb65d275754ec33d5 Reviewed-on: http://gerrit.openafs.org/4186 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b5f9a8c0aa4223d5decb8048fc97d317a494d846 Author: Jeffrey Altman Date: Wed Mar 9 07:51:02 2011 -0500 Windows: handle rx busy call channel Register an error code for rx busy call channel detection. Force a retry whenever CM_RX_BUSY_CALL_CHANNEL is received by cm_Analyze(). Log the event to both the internal trace log and the Windows Event Log along with the server address. Reviewed-on: http://gerrit.openafs.org/4183 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 75c2f96364d598ec0c134cb6b366ce067b8b7f49) Change-Id: I932c3d1fdb89f697347c0acc06dc628b3b6175da Reviewed-on: http://gerrit.openafs.org/4185 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ba00da1ea833172ab6f6b5c89b5b92c4b5d5f716 Author: Michael Meffie Date: Thu Mar 3 20:22:54 2011 -0500 rpm: fix ChangeLog filename in doc rpm Fix an rpmbuild error introduced in commit 8d157961. (cherry picked from commit 8f8522e457eb7703f85da3a193134c50bcd8b6cf) Change-Id: I69b402b1a31bfa1b5e5a14a3a86bc0d3fab7f842 Reviewed-on: http://gerrit.openafs.org/4184 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c0aa61b7914c724b192c78d67b3bc963be4dbcd5 Author: Andrew Deason Date: Mon Mar 7 11:08:26 2011 -0600 RX: Avoid timing out non-kernel busy channels When we encounter a "busy" call channel (indicated by receiving RX_PACKET_TYPE_BUSY packets), we can error out a call with RX_CALL_TIMEOUT to try and get the application code to retry the call. However, many RX applications are not aware of this, and will just fail with an error upon receiving a single busy packet. So instead, make this behavior optional, and only do it if the application tells us what specific error it expects to receive when a busy call channel is detected. Enable this behavior for the Unix cache manager, as it can cope with receiving an RX_CALL_TIMEOUT error in this scenario. Bump shlibafsrpc minor version to 5 instead of 3, so we don't collide with the shlibafsrpc versions on the master branch. Reviewed-on: http://gerrit.openafs.org/4159 Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit eddcee3ad518dff9fbfda790640c5bfd2e97ef5a) Change-Id: I38981ad3e3c2cbb03c516c02481a2f44cb5f9acf Reviewed-on: http://gerrit.openafs.org/4182 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3260065941c65434c9124fb51559b0519e77fa9b Author: Andrew Deason Date: Fri Feb 25 16:58:30 2011 -0600 vol: Check for blank vnode in VAllocVnode_r When we alloc a vnode in VAllocVnode_r, we look up that vnode in the vnode cache, to see if a vnode struct already exists for it. If it doesn't, we check the vnode index to ensure that the vnode actually is not in use (among other things). However, we do not perform the same check for a vnode already in the cache. Add this check, to make sure that we don't allocate an already-used vnode number, even if the bitmap is screwed up. Reviewed-on: http://gerrit.openafs.org/4060 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Derrick Brashear (cherry picked from commit 974e95302a312c03cd735c0fdaa67fb02d254e26) Change-Id: Ie75dc32c2a2c1ff05a96a1a14650e41ada07609d Reviewed-on: http://gerrit.openafs.org/4170 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit f90a3a5b19bb4a8da91f0cbbcb4957c2d8246bcf Author: Andrew Deason Date: Fri Feb 25 16:01:32 2011 -0600 DAFS: VnLock after VnWaitQuiescent in VAllocVnode In VAllocVnode, we write-lock the newly-allocated vnode. In DAFS, however, we need to VnWaitQuiescent_r before VnLock'ing, since VnLock in DAFS just sets the writer tid/pid. So, in VAllocVnode, move the VnLock call to after we wait for quiescence, so we don't stomp over the vnode when someone else has it write-locked. Reviewed-on: http://gerrit.openafs.org/4059 Tested-by: BuildBot Reviewed-by: Michael Meffie Reviewed-by: Derrick Brashear (cherry picked from commit b41575d176c2d485d55aed8780bfab9db4b7587d) Change-Id: I6c3d68f0f5248308d0f32e9fad5c540aaf593962 Reviewed-on: http://gerrit.openafs.org/4169 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c7612a49e1db924a8b8b24319754834b130c9312 Author: Andrew Deason Date: Fri Feb 25 14:43:09 2011 -0600 DAFS: Wait for exclusive ops in VFreeBitMapEntry_r VAllocBitmapEntry_r puts the volume in an exclusive state and drops VOL_LOCK when traversing the volume bitmap and updating the bitmap. So, VFreeBitMapEntry_r must ensure the volume is not in an exclusive state, to make sure that VAllocBitmapEntry_r is not updating the bitmap at the same time. Do so, by waiting for the volume to come out of exclusive state at the beginning of VFreeBitMapEntry_r. Reviewed-on: http://gerrit.openafs.org/4058 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 08ffe3e81d875b58ae5fe4c5733845d5132913a0) Change-Id: I0336bbc543828237cb9ae97ede18133b4e15100a Reviewed-on: http://gerrit.openafs.org/4168 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0a8bfca218a10df6e83768996a050cff8b19f02f Author: Andrew Deason Date: Wed Mar 2 14:11:43 2011 -0600 vol-salvage: VOL_DONE deleted volumes When the salvager deletes a volume (because it is an invalid RO clone, or because there is no data associated with the volume), we should inform the fileserver that the volume is gone. Otherwise, the volume in the fileserver can get put into an error state (in DAFS) when it tries to attach the volume, preventing anything from creating or using that volume. Reviewed-on: http://gerrit.openafs.org/4118 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a862d2df93fd4e8c8c7a0b8eebe9e59b75f54072) Change-Id: I4ec62d4c6b06678af6e8e499e9dafb2d0698c9ab Reviewed-on: http://gerrit.openafs.org/4167 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit be51c660780f8f9c0aa5f037a29130548460b8e6 Author: Andrew Deason Date: Wed Mar 2 15:39:51 2011 -0600 DAFS: Clear salvage stats on VOL_DONE When we VOL_DONE a volume, the volume has been deleted, so the salvage stats/information are no longer relevant. Clear them out, so we don't think the volume is still salvaging. Reviewed-on: http://gerrit.openafs.org/4120 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 40049c56791f3488640ae65c5dc5c4d6503375bd) Change-Id: I1c7f61994b050de7bd8c0e7fc39df978a31530a6 Reviewed-on: http://gerrit.openafs.org/4166 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit fd9b8a51d19a64798997835ce783cafab61e6b7f Author: Andrew Deason Date: Wed Mar 2 15:02:40 2011 -0600 DAFS: Allow LEAVE_OFF for DELETED volumes When a volume is VOL_STATE_DELETED, it effectively does not exist to other programs over FSSYNC. So, do not prevent someone from issuing a FSYNC_VOL_LEAVE_OFF for a VOL_STATE_DELETED volume. Reviewed-on: http://gerrit.openafs.org/4119 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit ddf5ae4f746f2b5e522e10cfcacb6225499e7956) Change-Id: I840930e144260036e2c96d83134a79dee3c9d083 Reviewed-on: http://gerrit.openafs.org/4165 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9cb10be35b6942111a1110f569c8c77191ddbd23 Author: Andrew Deason Date: Wed Mar 2 14:10:33 2011 -0600 vol-salvage: calloc volume summary structs Calloc volume summary structs instead of malloc'ing them, in vol-salvage.c. This way, new fields added to struct VolumeSummary will be known to be zeroed by default, without needing to update all of the allocating callers. Reviewed-on: http://gerrit.openafs.org/4117 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit bb25fc6418bac937b31476754a09199636c24211) Change-Id: I9533d4f841ebc64bdf49c145512471ebbb51136e Reviewed-on: http://gerrit.openafs.org/4164 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 80159e9312ed2249866159170cea568a2108250d Author: Andrew Deason Date: Wed Sep 29 11:48:44 2010 -0500 salvager: Do not break cbks when salvaging parts When salvaging whole partitions / whole servers, the fileserver is assumed to not be running. So only break callbacks if we are salvaging a single volume. If we are salvaging a whole partition, do not tell the fileserver to break callbacks on changed volumes, since the fileserver will not be around and we will just hang. Reviewed-on: http://gerrit.openafs.org/2865 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit fabd590cc4b0142fe97c4ffa6a4669fe5d44c359) Change-Id: I62eaa14c95ecce3dcd5fdde97f3a45f9103fc7bc Reviewed-on: http://gerrit.openafs.org/4175 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 40514c256bfd60682d57eada6fb88f468095e672 Author: Andrew Deason Date: Thu Aug 19 11:35:40 2010 -0500 Windows: vol-salvage SalvInfo fixes Commit 3d7388b790ef21de552ec60d379764df067ae421 broke the windows build. Fix it: - SVGParms_t has no salvinfo member, but an svgp_salvinfo member - Correct the SalvageVolumeGroup prototype to match the actual implementation Reviewed-on: http://gerrit.openafs.org/2595 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 87dc2a312ac94bc0a8b809a8f879128be8d9c791) Change-Id: I8fd13e683060ae4ae4818a03626e95680cc3e86d Reviewed-on: http://gerrit.openafs.org/4176 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 2232f501c879edb0354878223e69aa8c40e07344 Author: Andrew Deason Date: Thu Jun 24 15:45:05 2010 -0500 vol-salvage: Move global vars into SalvInfo struct Reduce the number of globals used in the salvager code, by making functions pass around a 'salvinfo' structure that contains the information regarding a particular salvage. Reviewed-on: http://gerrit.openafs.org/2250 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 3d7388b790ef21de552ec60d379764df067ae421) Change-Id: I15137994806f0c753a42347c28cadcf48002b800 Reviewed-on: http://gerrit.openafs.org/4163 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 25529a308e2c4b4fc51ef10c48648316f845a54b Author: Ryan C. Underwood Date: Sun Mar 6 10:40:53 2011 +0000 Fix positional I/O support for largefiles Commit 335ccb40 introduced positional I/O support for the fileserver, but didn't handle the largefile versions of preadv and pwritev. As a result, the fileserver cannot handle files of more than 2Gb in size. Fix this by using preadv64 and pwritev64 where O_LARGEFILE is defined, in the same way as for all other I/O primitives. Reviewed-by: Simon Wilkinson Reviewed-on: http://gerrit.openafs.org/4152 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit bbf406da30428a22b4a6d28a7d36dbb786013cfa) Change-Id: I5d15097e4c9aa83444520628f484407d244ddf97 Reviewed-on: http://gerrit.openafs.org/4161 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9b62a95e4d5182cca70c690fa810aa5d99a22049 Author: Simon Wilkinson Date: Sun Mar 6 16:06:36 2011 +0000 Disable vectored positional IO if no 64bit support In order to support vectored positional I/O, and large files, we need there to be an implementation of preadv64 and pwritev64. If this isn't present, then just disable HAVE_PIOV. (cherry picked from commit 98a0c2f47b8641e3e31ed7d2f7d84c2eb484ef51) Reviewed-on: http://gerrit.openafs.org/4153 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I4e199c748d7b88ff7076106b19c3dec0e60be39a Reviewed-on: http://gerrit.openafs.org/4160 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a48580971da0b26ccd3e1db5efc894bddcc5aa93 Author: Andrew Deason Date: Mon Feb 28 14:03:46 2011 -0600 Revert "LWP: remove ucontext header from preempt module" This reverts commit fbac809a46376fcf60d3dcedc0be962c43d9c74e. The ucontext header is only included in lwp.h for platforms that use ucontext as a means for context-switching in LWP. The preempt module needs the ucontext header for signal handling on some platforms (at least Solaris). So, ucontext.h may not be included by lwp.h on these platforms, if that platform does not use ucontext for LWP context-switching. So we need to explicitly include ucontext.h in preempt.c. Reviewed-on: http://gerrit.openafs.org/4095 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 2681c49ada5679922f949e9c7d0010f2ee705dab) Change-Id: Ie1858dc4e7dfc6e9db4a4f63deda8018645f9111 Reviewed-on: http://gerrit.openafs.org/4162 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 511fc5d4b50bce273c16acef7b551b8517a6bf46 Author: Simon Wilkinson Date: Sun Dec 26 14:54:43 2010 +0000 Don't trust # of entries from ListAttributes ListAttributes returns the number of entries in its array as an RPC argument. But, we can't trust this, as it could be manipulated and end up pointing past the end of the returned array (which is counted, so the entries argument is actually pointless). Add bounds checking to the functions which use this value to prevent this problem. (cherry picked from commit 8992210f27671673a89a541776aa105238ad14cf) Reviewed-on: http://gerrit.openafs.org/3597 Reviewed-by: Derrick Brashear Tested-by: BuildBot Change-Id: I318f2f956a48f10e91590ad9f28fab868d8ceb60 Reviewed-on: http://gerrit.openafs.org/4134 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 70938028cd1267aa604d8b983473403eec702a20 Author: Jeffrey Altman Date: Sat Mar 5 00:40:13 2011 -0500 Revert "Convert from using nvldbentry to uvldbentry" This reverts commit 4f1efdc8b73ed734197925766530d033c6f9794a. The conversion to uvldbentry produced too many negative side effects. Revisit support for multi-homed servers when vos is executed from a machine that can only see a random subset of the addresses assigned to the server in the future. (cherry picked from commit 9e539fbea456cdb416a487364d67ab54da1249a7) Reviewed-on: http://gerrit.openafs.org/4131 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: I9211d919e4584c1dac388155b6f4609f50fe603c Reviewed-on: http://gerrit.openafs.org/4133 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5006ed8e5748dbdca76064dc9520837bcd55fef3 Author: Jeffrey Altman Date: Fri Mar 4 23:40:31 2011 -0500 Revert "modify FindIndex to compare uuids" This reverts commit 9aad0979e9ff0601c249eb66a6ecfb3e76264702. This is being pulled as the entire nvldbentry to uvldbentry conversion is being reverted. Reviewed-on: http://gerrit.openafs.org/4130 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ca0ae15d621dbd90339408a26715a107d1f69f23) Change-Id: If97b81e874c87b10a4c4e5f190f573781fc3c158 Reviewed-on: http://gerrit.openafs.org/4132 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 689317fbd98e28b8f2b884fcb4ec52b62d927143 Author: Andrew Deason Date: Fri Mar 4 11:35:06 2011 -0600 viced: Set HWHO_INPROGRESS in CheckHost_r When we are probing a host in CheckHost_r, set the HWHO_INPROGRESS flag on the host, so other threads know that the host is locked while we are waiting for a probe response, and the h_threadquota mechanism can work correctly. Reviewed-on: http://gerrit.openafs.org/4126 Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 64d52938ee26e160a6e2cd64253df096eb5d0c1e) Change-Id: I168fb4cf80106bcaf3f846df68ab5a98b65365ab Reviewed-on: http://gerrit.openafs.org/4127 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c7221c70b89735d8c19b1053818770a5e4d108e4 Author: Derrick Brashear Date: Tue Mar 1 16:43:10 2011 -0500 tweak uvldb-making function in order to properly simulate a uvldb, swap in the right fields, and mark it correctly. Reviewed-on: http://gerrit.openafs.org/4107 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 89ae0b12f20eea8a8b0a3fe493dc52d2def436ce) Change-Id: I0f0d0d2676d49eb33d7eadd3b7616e16e1e9002f Reviewed-on: http://gerrit.openafs.org/4113 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit f38c9aeff78db6cebd654051aa1f9ba86f11a2fd Author: Derrick Brashear Date: Wed Mar 2 08:12:38 2011 -0500 rx: cancel growmtu event on resetcall attempt at fixing issue reported by Ryan Underwood. Reviewed-on: http://gerrit.openafs.org/4108 Reviewed-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 7d516192bed12aa3137bcb86cbe0d8ecd492415c) Change-Id: Iae0d290a41d2df1482e399721469984732096bf4 Reviewed-on: http://gerrit.openafs.org/4112 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 34713abb800a0c30fd6a712df2f4c8d1aab197aa Author: Andrew Deason Date: Thu Jul 29 11:06:28 2010 -0500 fssync-debug: exec DAFS version if DAFS detected If the user requests something that differs depending on whether the server is DAFS or not, try to exec the DAFS-enabled fssync-debug (dafssync-debug) for them. Based on a conversation with Tom Keiser. Reviewed-on: http://gerrit.openafs.org/2480 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 1466cd755ce3b48d312fb4404f494934840e586b) Change-Id: Id87ef70853212f41d2eabbf02bf67e216d9eb43d Reviewed-on: http://gerrit.openafs.org/4110 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit f13e0b298e9515da3d4785c5b5e4ec8ff26fe51d Author: Andrew Deason Date: Wed Dec 22 00:02:45 2010 -0500 HPUX: Put __HP_CURSES back in We need __HP_CURSES to be defined in order to get the _maxx WINDOW* field among other things. Define it on HPUX again (it was taken out as part of 4a6a00d6f45bd0ac94e2eb05adee41552073643a). Reviewed-on: http://gerrit.openafs.org/3582 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 1bc23299720fc57dfefbb588f1f3de0ec792e069) Change-Id: Iae7294b266446da8d8577ddf68449d3a12784316 Reviewed-on: http://gerrit.openafs.org/4092 Reviewed-by: Derrick Brashear Tested-by: BuildBot Tested-by: Andrew Deason commit 790f92d55000d320521999261141938244f3e825 Author: Derrick Brashear Date: Mon Feb 7 10:54:51 2011 -0500 fileserver: dropbox mode shouldn't allow readback from anonymous if you're writing files as anonymous, don't let them be read back. things which potentially need to page back in will just have to be authenticated, or lose. Reviewed-on: http://gerrit.openafs.org/3901 Tested-by: BuildBot Reviewed-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 470a6d46175125bfe15bb267ee8f77d60132592a) Change-Id: Ia81a9871a2d38843d0ad2c61af06c8bbaaef3d81 Reviewed-on: http://gerrit.openafs.org/4091 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 739721df17243959468ffd89fc791aca5ca15c6a Author: Derrick Brashear Date: Mon Feb 14 00:20:40 2011 -0500 MacOS: aklog auth plugin the AuthorizationPlugin subsystem replaced the old loginplugin method. As it is now usable for us, provide a plugin which can take advantage of it. LICENSE BSD Reviewed-on: http://gerrit.openafs.org/3939 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c3499218ad604b1985239334d77dd0a94c7128bb) Change-Id: I8280d0f1c2ac6ffb93ddc42a5cc5234401a4fcbc Reviewed-on: http://gerrit.openafs.org/4090 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 566f4f198a2e1e7cc05502bec1db267965a5ccc6 Author: Andrew Deason Date: Mon Feb 21 12:39:48 2011 -0600 rx: Reset fd_set in LWP rxi_Sendmsg When we select() on the socket fd in rxi_Sendmsg, we do not reset the fd_set, and just use the same memory for any necessary subsequent select()s. However, if the select returned on EINTR, the fd_set may be cleared, and so we may try to select() on an empty fd_set forever. To be sure that we don't do that, reset the fd_set to the socket fd every time. Reviewed-on: http://gerrit.openafs.org/4028 Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit 63fb786c541926dbf03a9452288c6a938c7cd6c4) Change-Id: I4d0cc939065c39ca2478006e05fae025921af5b8 Reviewed-on: http://gerrit.openafs.org/4089 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 4a068778bd6f3b6d74e40091c124e1db985262c6 Author: Derrick Brashear Date: Wed Feb 16 12:18:58 2011 -0500 MacOS: don't install growlagent into prefpanes dir we have more than one tool now. don't misinstall into the prefpanes directory Reviewed-on: http://gerrit.openafs.org/3963 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit df7cca0fa8c5cbeca8cdb9f065e47f4c927dbbe3) Change-Id: I9046dd9dbd0536a65b694a9331a86651bd1eeabd Reviewed-on: http://gerrit.openafs.org/4088 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ddda954cab7678d5e655af52e49c7fea67e5f8ee Author: Andrew Deason Date: Thu Feb 17 14:33:07 2011 -0600 Document dropbox permissions Document the behavior and potential problems with granting 'il' rights to create dropboxes. Do this in the manpage for 'fs setacl' and chapter 4 of the User Guide. Reviewed-on: http://gerrit.openafs.org/3977 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 9c7c6a2ca5c45367d1a8ed1710a4c99f8e3c5f6b) Change-Id: I9514087016a2946934d253a79ce0721ce1d8ea0f Reviewed-on: http://gerrit.openafs.org/4087 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 2f2fe6fefb3f7bb0184958ee4d6aff3448b972c4 Author: Andrew Deason Date: Thu Feb 17 15:15:06 2011 -0600 afsd.fuse: Force internal mount dir to /afs Commit 1f1545dfb708b6f70065da58b44676b8eafef772 made it so the argument given to -mountdir sets the internal mount directory. However, afsd.fuse assumes that the mount dir is always /afs internally. So, use the uafs_setMountDir function to reset the internal mount dir to "/afs", so afsd.fuse can work with non-/afs mountpoints. Reviewed-on: http://gerrit.openafs.org/3979 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 18b24156f1dc0f727260724023eed583b460218b) Change-Id: Icc856771c82332ee6dcd25692da80c28d2effe99 Reviewed-on: http://gerrit.openafs.org/4086 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 4fe833e4a777235034151f630644303779c8f517 Author: Andrew Deason Date: Thu Feb 17 15:14:41 2011 -0600 UKERNEL: Add uafs_setMountDir Replace the function uafs_mountWithDir with uafs_setMountDir, and adjust the one caller. This allows libuafs users to manually set the mount dir after e.g. the mount dir is set from afsd options. Reviewed-on: http://gerrit.openafs.org/3978 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 445548636f4d57aaa8e29912803e242f772959c7) Change-Id: I86607ac80f564950b544a9283794f842d0dadadb Reviewed-on: http://gerrit.openafs.org/4085 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 78c87a2a7e3fa5efd1cd9093a3d5f32bcd709d04 Author: Andrew Deason Date: Fri Jan 28 11:11:20 2011 -0600 libuafs: Allow -mountdir to override uafs_Setup For some reason, uafs_Setup accepts a parameter specifying the AFS mount point, and we effectively ignore any -mountdir option specified in the string arguments. Allow -mountdir to override the mount point specified in uafs_Setup, by changing afs_mountDir &co during afsd_mount_afs(). Reviewed-on: http://gerrit.openafs.org/3897 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 1f1545dfb708b6f70065da58b44676b8eafef772) Change-Id: Id57dea754bb8f2e45b3128afadb52aeea97c4f13 Reviewed-on: http://gerrit.openafs.org/4084 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9fe452316ed225a176ea63f41b34a6e15d6ed51a Author: Andrew Deason Date: Mon Feb 7 13:13:31 2011 -0600 viced: Enforce lwps limit for -L Previously, we only enforced the calculated lwp/thread maximum when the -p argument was specified. When -L was specified, we set lwps to 128, which can be over the max of (effectively) MAX_FILESERVER_THREAD-FILESERVER_HELPER_THREADS, depending on the value of MAX_FILESERVER_THREAD. Instead, enforce the lwps min/max after all code to set the lwps has run. Reviewed-on: http://gerrit.openafs.org/3903 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9315c66f15fb0d178e1c322cf14c0d64eea46c65) Change-Id: Ia1fed73cc3f227b2bba2c1a66de86b67b58139ce Reviewed-on: http://gerrit.openafs.org/4083 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3aa9e9d9e1378098f1e81321e3369c524398caab Author: Derrick Brashear Date: Sat Feb 26 21:55:19 2011 -0500 arm darwin update some stuff that got lost from the last batch Change-Id: I13addcb4b1ff5b36830e190bcee70a504df98e46 Reviewed-on: http://gerrit.openafs.org/4064 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4397159a1c84c890a4f2a84fa2282f0ab9b74154) Reviewed-on: http://gerrit.openafs.org/4065 commit 1285c5311438088865edae1d019ba6c61f162fe9 Author: Derrick Brashear Date: Sat Feb 26 21:51:50 2011 -0500 LWP: remove ucontext header from preempt module it's already included by header. don't include it again. Reviewed-on: http://gerrit.openafs.org/4076 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit fbac809a46376fcf60d3dcedc0be962c43d9c74e) Change-Id: I8f56d5cc90957285cfd765f791b584eb36062070 Reviewed-on: http://gerrit.openafs.org/4082 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit e67e03f9f6152922d5fdd2efd8108a0766831fa5 Author: Derrick Brashear Date: Sat Feb 26 21:44:37 2011 -0500 avoid unneeded rebuilds due to component version if the component version file does not change, don't touch it and force a rebuild (cherry picked from commit 86f7ac2f57591cf72ae22f8d1267efcc8e0b6641) Change-Id: Ia6e7b3f10e7efdea3e46c4fb7634f6e28d624e58 Reviewed-on: http://gerrit.openafs.org/4081 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 153a44e4b76172e642320bad0585a6cc8a966273 Author: Derrick Brashear Date: Sat Feb 26 21:42:40 2011 -0500 generated mode: fix result don't leave build results which will interfere with the next phase around Reviewed-on: http://gerrit.openafs.org/4074 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e16d015a3eec3cf2fb79b27b39bd567bb4f07581) Change-Id: I3bd6270f1d33468e9893aaebd887b23a1eda4f07 Reviewed-on: http://gerrit.openafs.org/4080 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit cc4199637973d2eae32cbaf06ab8daf05ab871d1 Author: Andrew Deason Date: Wed Dec 22 09:46:48 2010 -0500 Prefer libHcurses over libcurses Use the HP-UX-specific libHcurses instead of libcurses, like we used to. Otherwise we fail to link some gtx programs. Reviewed-on: http://gerrit.openafs.org/3583 Tested-by: BuildBot Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 651f66b0ffed08da82b352e3e252a03b8b13c780) Change-Id: I6c3c7e219548c0694dc84d167535cacbbfbb1e02 Reviewed-on: http://gerrit.openafs.org/4079 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 65ddae68df10eae5884376be85185329c036ce9a Author: Christof Hanke Date: Sun Nov 21 23:01:53 2010 +0100 check curses-libs by configure Presently, the used curses-library are determined by OS. The leads to a build error when no curses-headers are installed. Use configure to test if curses.h or ncurses.h is present. ncurses takes precedence over curses.h. If neither the curses- nor ncurses-libs are available, do not build afsmonitor and scout. A summary at the end of the configure should make this clear to everyone. The variable TXLIBS has been renamed to LIB_curses. (cherry picked from commit 4a6a00d6f45bd0ac94e2eb05adee41552073643a) Reviewed-on: http://gerrit.openafs.org/3345 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: Iea866ca6dfe758d95ef890f0d95e1c38012048b4 Reviewed-on: http://gerrit.openafs.org/4078 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 41da26a9fdb9565565159daa46f923cc1d371a09 Author: Christof Hanke Date: Sun Nov 21 12:13:34 2010 +0100 remove unnecessary dependency fms in bu_utils is not using curses at all. Just remove the dependency from the Makfile Reviewed-on: http://gerrit.openafs.org/3342 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 01b9cee0d0d4a328b662c0138efcd8506126084c) Change-Id: Id1f046f9636632ba4323ee2b69f6270175c34c1b Reviewed-on: http://gerrit.openafs.org/4077 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 8cbf8e5c5a4597c0be8861f37ab73d23f125399b Author: Andrew Deason Date: Thu Feb 17 11:57:53 2011 -0600 LINUX: Include key-related headers in osi_compat.h Include keyring-related headers in osi_compat.h, so we get the proper types defined for keyring-related functions. Also only define keyring-related functions if we have keyring support. Reviewed-on: http://gerrit.openafs.org/3895 Reviewed-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 358f2a23079f940e9adb741d2526895d620d1ced) Change-Id: Ice7b37feb23acef73d64d923243ee622db657b5d Reviewed-on: http://gerrit.openafs.org/4070 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit b5bc969a564f33d68de0802c3f59c4e1df357eb3 Author: Anders Kaseorg Date: Tue Feb 22 18:18:17 2011 -0500 Linux: Reduce key_alloc flags confusion KEY_ALLOC_IN_QUOTA should be 0, not 1. Fortunately this was overridden by the earlier correct definition in osi_compat.h. Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/4033 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear (cherry picked from commit c576ca12b6618d2a121b29562aa70532b4cf65a9) Change-Id: If22e75b52792991f9eae5e27ef9b06dcfb73aae3 Reviewed-on: http://gerrit.openafs.org/4069 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 080d6caa26043b8ee5a8ff53672df3946f57454a Author: Anders Kaseorg Date: Tue Feb 22 19:18:30 2011 -0500 Linux: install_session_keyring: key_alloc flags are unsigned long Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/4034 Reviewed-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 559152ac107f91c8c2f11a909ef638551227b04a) Change-Id: I33e909b7ec04a8d7df3b61bd16e1c8e820c38826 Reviewed-on: http://gerrit.openafs.org/4068 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit adf5ea13347aee4227e1253a5fcb68d9a3dcfacd Author: Simon Wilkinson Date: Sat Sep 11 12:43:35 2010 +0100 Linux: Move keyring includes where they're needed We don't need the keyring headers in every file, so reduce namespace pollution by just including them in osi_groups.c, which is the only place that uses them. Reviewed-on: http://gerrit.openafs.org/2746 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 33ce7a9308c8a71fbfcea82a935e32521031f48d) Change-Id: Ia943179a23c856ef9d37d1774192389cfe38612a Reviewed-on: http://gerrit.openafs.org/4067 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit dfcdd4a0672d3ebd7dec1969bbcb746196b50d8b Author: Jeffrey Altman Date: Fri Feb 25 15:32:37 2011 +0000 man-pages: add generated vos*.pod to clean rule 9ec343cf4292e178fa1e4a9757232dc983ea9ba3 failed to add the newly generated vos_addsite.pod, vos_copy.pod, and vos_zap.pod to the clean rule. Change-Id: Ia3b7b6cc578d84f9ee8ee105992248cf535564c6 Reviewed-on: http://gerrit.openafs.org/4062 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 5aebd8d5416f242a84676cac3874fbc71c3cef44 Author: Andrew Deason Date: Fri Feb 18 15:49:03 2011 -0600 LINUX: Replace dcache.h for fs.h in config tests When detecting if we have certain Linux kernel features, we only include dcache.h. On some kernel versions (at least 2.4.27), compilation fails if we include dcache.h directly (due to e.g. list_head not being defined), which causes false negatives in tests such as the test for dcache_lock. If we instead include fs.h, which includes dcache.h, the tests succeed when they should succeed. So, use fs.h instead of dcache.h. Reviewed-on: http://gerrit.openafs.org/3989 Tested-by: BuildBot Tested-by: Marc Dionne Reviewed-by: Marc Dionne Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 839b62ab414fde02e1a2093bc036c63c708d861d) Change-Id: Ia8ea701c81bad9dc293ecb2848bd971052743c81 Reviewed-on: http://gerrit.openafs.org/4025 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 4d49ff6addf5cb1b878e707096b8ca9fd4ef621b Author: Ben Kaduk Date: Sat Feb 19 22:41:19 2011 -0500 FBSD: remove prtactive It is unused and has been removed by upstream. Since we don't particularly need it for older versions, remove it unconditionally. Reviewed-on: http://gerrit.openafs.org/4020 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 0491b2846f81defe92e3fcf8bc4481637ec109b3) Change-Id: Ibd0c39d414552ec95eba09faa4f542acf898af3d Reviewed-on: http://gerrit.openafs.org/4023 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 85791f53d7357b971d6f091038c8c4f39c50414d Author: Andrew Deason Date: Thu Feb 17 11:53:08 2011 -0600 LINUX: Fix osi_compat.h include guard Reviewed-on: http://gerrit.openafs.org/3973 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 7bbec1f86bbdbf351d36863dc5d971f61051b170) Change-Id: I8a0b1a6bc57cb06778d97ad738c04b03c3ba7876 Reviewed-on: http://gerrit.openafs.org/4015 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0022bdd945a465bb6fe2ff1c821ff267563a60ad Author: Antoine Verheijen Date: Wed Jan 19 15:57:25 2011 -0700 Move check for unspecified CFLAGS in configure.ac configure.ac provides a check to see if the user has specified CFLAGS and if not, it sets CFLAGS to a blank (not NULL) string so that the resultant configure script does not set '-g' and/or '-O2' by default. This check occurs after AC_USE_SYSTEM_EXTENSIONS in the configure.ac file. However, on at least some systems, such as OpenBSD, AC_USE_SYSTEM_EXTENSIONS expands to include the code that configure uses to set '-g -O2' so the check has no effect and '-g' or '-O2' can not be turned off. This patch moves the "CFLAGS specified" check so that it precedes the AC_USE_SYSTEM_EXTENSIONS directive, in which case everything works. Reviewed-on: http://gerrit.openafs.org/3688 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 8b932375ecca3fefc1190a8d23d5c24ae538cfae) Change-Id: Iec860d1ec5f1208e27e2602f10a83791a3481987 Reviewed-on: http://gerrit.openafs.org/4014 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5d0955ae914857c0fa64c6311f19b734ae59e05d Author: Christof Hanke Date: Sat Dec 4 11:03:13 2010 +0100 Add .gitignore for tsm41 Just ignore some files created during the build. Reviewed-on: http://gerrit.openafs.org/3435 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear (cherry picked from commit 3c370ed1e58310cb0202a5d2c826ba6569da831c) Change-Id: I774254ebb7d0cd45f162c7b74df1f0b016d2f7be Reviewed-on: http://gerrit.openafs.org/4013 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 1547e54fd6ca7475b11f1202e13c0a4cb7f2dfcc Author: Steve Simmons Date: Tue Aug 31 13:16:15 2010 -0400 More deprecations noted. Reviewed-on: http://gerrit.openafs.org/2633 Reviewed-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit 3f69d7247cfbd809aeed1e4d943c2b21da035654) Change-Id: Id20ce6b254720f61aefec18addbb5032849f0b6f Reviewed-on: http://gerrit.openafs.org/4012 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit bffc0357227f6bd3a2d2652eb74a5cff0836a7a0 Author: Steve Simmons Date: Tue Aug 31 19:21:50 2010 -0400 Update the man pages to discourage use of uss Usually the text added was a copy of a CAUTION section that had already been added in a few places. This change applies it consistently across all uss-related man pages. In pod1/afs.pod that text would be excessively wordy; a briefer note is used there to direct the reader to the full text. This is a partial fix for RT bug #128018. It does not fully close the bug; the AFS Administrators Guide needs to be updated as well. Reviewed-on: http://gerrit.openafs.org/2637 Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit 61ddfbaa19f28bd8b352dea307ab752239470026) Change-Id: I18596dd78d0d5875d1aa442098c6bd757f496953 [sxw@your-file-system.com fixed the commit message for this pullup] Reviewed-on: http://gerrit.openafs.org/4011 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 6226c082fc87559610076b28fe12f5175efacba6 Author: Andrew Deason Date: Fri Nov 12 10:03:43 2010 -0600 doc: Fix fileserver synopsis The fileserver synopsis was missing the leading 'fileserver' before the options list. This causes the options list to not be interpreted as POD, and so you get a lot of ugly unprocessed POD markup in the man page. Fix that. Reviewed-on: http://gerrit.openafs.org/3301 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 4669a55b58ddb6905424c4f8123d7e631f52eb35) Change-Id: Ib545b1d7c09dd2ce450517df1b0c0d20248c9161 Reviewed-on: http://gerrit.openafs.org/4010 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d655f9b7bcba9b5fa0ab1ac2bb92e6ed75cf392d Author: Andrew Deason Date: Thu Nov 4 11:46:10 2010 -0500 krb5_free_string takes a krb5_context Give krb5_free_string a krb5_context, not just the string to free. Reviewed-on: http://gerrit.openafs.org/3262 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 354d21878ed401c644a5392f86af3fe6e660801f) Change-Id: Ief39cbd5edc9bd9298e199f974d3dcecef31a3d5 Reviewed-on: http://gerrit.openafs.org/4009 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 6477acfa576832bd14fcd7bcfe9d24ca008e7ee4 Author: Rod Widdowson Date: Fri Oct 29 14:21:37 2010 +0100 Docs: Specify where the Windows mini dump file is written Reviewed-on: http://gerrit.openafs.org/3187 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit c61e1aeeef8f81f75084f457e4d6e5e1d754cfa5) Change-Id: I3ec1a690596b940a1fe8ae2f93d9af1cae1633b8 Reviewed-on: http://gerrit.openafs.org/4008 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 1a54c115968f698437fe0d73149f21cce3eaf67c Author: Jason Edgecombe Date: Tue Oct 26 20:32:04 2010 -0400 Quickstart Guide: misc. fixes * The update server is optional * Only worry about fsck when using inode-based storage * Add a space where needed Reviewed-on: http://gerrit.openafs.org/3164 Reviewed-by: Derrick Brashear Tested-by: Jason Edgecombe (cherry picked from commit bd1657fb9d42e46fdc9560687aa0d360395740b2) Change-Id: Ia5a26d636ab093b8992ee595683bac37c7085ba6 Reviewed-on: http://gerrit.openafs.org/4007 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 687831a16c2eeacbab7e62280bf8f897df7f49ef Author: Jason Edgecombe Date: Tue Oct 26 15:06:28 2010 -0400 Quickstart guide: use yum install from openafs repo Reviewed-on: http://gerrit.openafs.org/3159 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9c32ac52f161135e39ed60cf87bfad3d016f3c6f) Change-Id: I837934a526d9bb5b77d42b3d8e7481e6b2e5621c Reviewed-on: http://gerrit.openafs.org/4006 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a138be92a0016ccb237e8216d875720b2dbfd896 Author: Simon Wilkinson Date: Tue Oct 5 09:01:00 2010 +0100 Irix: Make compiler less chatty Supress a few of our errors from the Irix compiler and linker, so its output is a little less verbose. This change suppresses the function declared but not used and multiple declaration errors that we get due to our static_inline fudge and the paramater declared but not used errors. Other error suppression is possible - you just need the number immediately after the 'cc-' in the build logs to say which number to add to the -woff line. Reviewed-on: http://gerrit.openafs.org/2908 Tested-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e7a12d56bc3b27a3ada37e2799e1925204d23300) Change-Id: Ifa967e9936cb3beed19b1df1e234a13ca9c95e37 Reviewed-on: http://gerrit.openafs.org/4005 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 604f7a2ad251d36410192d982b66fee76ae622f0 Author: Simon Wilkinson Date: Mon Oct 4 12:33:24 2010 +0100 configure: Restore saved CFLAGS When we test for whether the C compiler can take the -fno-strength-reduce flag, we add the flag to CFLAGS to do so. However, we were not restoring the old value of this flag when we completed the test, and so we were always setting -fno-strength-reduce in the userspace compile. Previously, this was harmless, as we always overwrote CFLAGS, but if we're moving to a world where we honour the user's setting of CFLAGS, we need to not leak changes in this way. Reviewed-on: http://gerrit.openafs.org/2894 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 907521feb1b9c7a6c816866a672c7ab84dac6abd) Change-Id: Ie8c2a80b204754f1c17d9fa5e06903a7cdf7e4d2 Reviewed-on: http://gerrit.openafs.org/4004 Tested-by: BuildBot Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit 7c6441d435982fd6ff8370b55e02e5fe39aefa61 Author: Simon Wilkinson Date: Mon Oct 4 13:45:53 2010 +0100 configure: Don't let autoconf pick our CFLAGS If the user hasn't specified CFLAGS on the command line to ./configure, then autoconf will set them to -g -O2 if the compiler supports those options. For compatibility with what OpenAFS has always done, and to let us manually set optimisation and debugging flags later, disable this behaviour. Reviewed-on: http://gerrit.openafs.org/2895 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b1f747c1f131fc1a9f8a5895fb06607a255a27d8) Change-Id: Id35b288a56c8946a34b234eac1e899898d29ae65 Reviewed-on: http://gerrit.openafs.org/4003 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9a5b168f758ed31537d0b604ea32ac586f407856 Author: Russ Allbery Date: Tue Sep 14 10:12:43 2010 -0700 Mention KRB5CCNAME in the aklog man page AFS users not otherwise familiar with Kerberos may not realize that one sets KRB5CCNAME to use an alternative ticket cache. Mention the variable in the aklog man page, although defer to the Kerberos documentation for most details. Reviewed-on: http://gerrit.openafs.org/2761 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Rod Widdowson Reviewed-by: Russ Allbery (cherry picked from commit 089cd2c1039315fe400f85eec1c9f2152ea090c7) Change-Id: I0428c8c4dc7f6b1f667e69b571be944777bcb057 Reviewed-on: http://gerrit.openafs.org/4002 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c4a29776c22e0269661d03adc1a125ae3ccbe78b Author: Simon Wilkinson Date: Sun Sep 12 18:41:21 2010 +0100 Add additional dependencies for shlibafsrpc fsint and rxstat need to be build before shlibafsrpc, so add them to the dependencies list. Reviewed-on: http://gerrit.openafs.org/2755 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit a4ec68691869deaf12a6fe405394bba2c9003fb9) Change-Id: I5528390faf2c0ff9c85505673f4317b0c3900e0e Reviewed-on: http://gerrit.openafs.org/4001 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 32459e5c68cc1442a7dfc0926daf7354c3e060ee Author: Simon Wilkinson Date: Fri Aug 20 13:19:30 2010 +0100 Add a few missing entries to our .gitignores Add a couple of build products to the relevant .gitignore files Reviewed-on: http://gerrit.openafs.org/2599 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9da71758f194b98e1be3dee8d588b703874ea9a6) Change-Id: I0d81739fbadad6a1787e17863df0ee6dcdd083bf Reviewed-on: http://gerrit.openafs.org/4000 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit bfaefe518b7a5073df9e7292e24e266544e85754 Author: Andrew Deason Date: Fri Jan 14 14:52:10 2011 -0600 RX: Include netinet/ip6.h before inet/ip.h Some older Solaris (at least some Solaris 8) requires netinet/ip6.h to be included before inet/ip.h, or the compiler chokes on some ipv6-related declarations in inet/ip.h. So, include it. Reviewed-on: http://gerrit.openafs.org/3662 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9cc9b0d618ba1c787a8a684077c1d2f205b8889c) Change-Id: Ic342a8ff9dc4c52c8f7178f103db93ba9bef6712 Reviewed-on: http://gerrit.openafs.org/3990 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 98558995d6ac778843f5c1488b6295cf6c2f4744 Author: Derrick Brashear Date: Sun Oct 31 21:58:37 2010 -0400 check for error_message IRIX apparently has enough krb5 to try building aklog, but no error_message. ok. so let's cope Reviewed-on: http://gerrit.openafs.org/3208 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 572f9baaeb626293f4db62a66db1ea9b9a373c03) Change-Id: I44c71ffedcbe55db696db667d1941a7bdc781cff Reviewed-on: http://gerrit.openafs.org/3987 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 71082a661f6a4b99d51a9eaeeb9eef99f69a93be Author: Simon Wilkinson Date: Mon Sep 6 09:38:47 2010 +0100 aklog: Fix some format warnings Fix some format warnings (size_t vs int) which only appear when we're building with Heimdal. Reviewed-on: http://gerrit.openafs.org/2740 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5bc4b4956509256e8cf13bd04e4615ee2cb31c65) Change-Id: Ifac99313d96dcd3d33733ffd75db752ab3854608 Reviewed-on: http://gerrit.openafs.org/3986 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7a3c6b7c5e442f1060bf46119bd1df9c7d2e2a97 Author: Simon Wilkinson Date: Mon Sep 6 09:37:23 2010 +0100 aklog: Fix weak_crypto tests The tests for the various ways of enabling weak cryptography fail with current Heimdal master, because it defines krb5_allow_weak_crypto but does not prototype it. Fix this by testing for the Heimdal version (which MIT does not provide) first, and only if that's not available, try to use allow_weak_crypto. Reviewed-on: http://gerrit.openafs.org/2739 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 696e1c015eeef259451c101813b9e930e402cb49) Change-Id: Ia69e1899f1e3d058271f147d33b58383ca35b4ec Reviewed-on: http://gerrit.openafs.org/3985 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit bf0f3dbd06bd73aeb7333f357708b2ad07918520 Author: Derrick Brashear Date: Sun Oct 31 22:21:19 2010 -0400 aklog weak warning make aklog guess when you need to enable weak crypto Reviewed-on: http://gerrit.openafs.org/3209 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 93ab13cbf3cfee30524f63925a11a0ab0c55d600) Change-Id: I48b0f6c40a2a6b989bfc859267b080e31a6ffc3c Reviewed-on: http://gerrit.openafs.org/3988 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 29d624a98cca1a2e31fc8cc51c7e4d1577b5282d Author: Simon Wilkinson Date: Fri Feb 18 00:36:33 2011 +0000 RedHat packaging: Use %{dist} not %{osver} There's a standard mechanism for defining a RPMs target distribution in the Fedora and RedHat worlds. This is to use the %{dist} macro, and to insert it at the end (not the beginning) of the release field. Move over to using this standard mechanism, and modify the build system to match. Note that this means that RPM names have now changed slightly. Reviewed-on: http://gerrit.openafs.org/3981 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 2b094cae6c39bc9e2d8f23f4654e137876b25d57) Change-Id: I764a91e787acb2d2e3d0595cb344bc5b44465bd9 Reviewed-on: http://gerrit.openafs.org/3984 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit de1158431ad3308886c54c8ff3d8b6dc8259c41b Author: Andrew Deason Date: Thu Feb 17 15:47:00 2011 -0600 afsd: Make mountdir check kernel-specific Checking if the /afs directory exists only makes sense for the kernel afsd. The libuafs afsd does not care if the mount directory actually exists on the machine or not, since it may not interact with the mount directory path on the local machine at all. So, make the mountdir check code be a new afsd function (afsd_check_mount), and have it stat() the mount directory only in the kernels-specific afsd. Reviewed-on: http://gerrit.openafs.org/3980 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit fd010651194f4c9f1324ea7aa8d84426ce9827e4) Change-Id: Ib4f4fe3a6072f9aea4683bb1ba531da8d965b156 Reviewed-on: http://gerrit.openafs.org/3983 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a5bbc871ce360f5c95edf08d2a51b95a6095e3cf Author: Jonathan Billings Date: Fri Jan 7 10:44:27 2011 -0500 RedHat: Change the defined initdir path to /etc/rc.d/init.d On Red Hat systems, /etc/init.d is a symlink to /etc/rc.d/init.d. We should use the actual path for packaging the init scripts, to avoid any issues with package verification. Reviewed-on: http://gerrit.openafs.org/3625 Reviewed-by: Stephan Wiesand Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit da912adbf1512702a17b8e381af3d0225875e67c) Change-Id: Ib00275f873987700312b402d6fe0513ce96e9cf8 Reviewed-on: http://gerrit.openafs.org/3982 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b3ce627af18ebe84436cea57c60544bc74b9026b Author: Ben Kaduk Date: Thu Feb 17 15:00:06 2011 -0500 Pull in 64BIT_ENV for FBSD Support for some newer FreeBSD versions was added after we killed AFS_64BIT_ENV, but the commit to kill it was not cherry-picked to openafs-stable-1_6_x. Cherry-picking the new version support thus introduced a bug, as we still need to define AFS_64BIT_ENV for these systems on this branch. We attempted to fix this previously, but that fix was incomplete. Apply the full fix now. A direct commit to openafs-stable-1_6_x, as this change is not relevant for master. Change-Id: If83edd51552f4719ed80179f7d7423ab15bbb0cb Reviewed-on: http://gerrit.openafs.org/3976 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e31e380d5d3b152adcab1ff944186d21dd6a7733 Author: Andrew Deason Date: Fri Dec 3 16:39:57 2010 -0600 LINUX: Define zero_user_segment When the kernel does not have the zero_user_segments function, we define it ourselves. Also define the zero_user_segment function, since we use it, and a kernel lacking zero_user_segments will also lack zero_user_segment. Reviewed-on: http://gerrit.openafs.org/3432 Tested-by: Andrew Deason Reviewed-by: Matt Benjamin Reviewed-by: Simon Wilkinson Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit fb325c3c63d844eda1da23e2ab5facba14994a6f) Change-Id: I076fcc2e194b2d23394742a1510fd3ccbb5d7a03 Reviewed-on: http://gerrit.openafs.org/3972 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit d79f9306f57de692da1b54148f87be31e2202318 Author: Andrew Deason Date: Tue Feb 15 17:21:49 2011 -0600 vol: Restore inode OS_READ/WRITE Commit 335ccb4082657b7d0e4e9af1076356cf115642d2 removed the OS_READ and OS_WRITE definitions for non-namei code. We need those definitions to build the pread/pwrite emulation functions, so put them back in. This allows us to build the inode fileserver backend when we do not have native positional I/O. Reviewed-on: http://gerrit.openafs.org/3959 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 0bb6170b222ee2e9a0a3d224dac890adaed945a9) Change-Id: Ib025c1ddc9a8d09319941eefe32bd2ba1df6764b Reviewed-on: http://gerrit.openafs.org/3965 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 02cbe5171069f3e896bb5b3f3f93f15d52980471 Author: Andrew Deason Date: Mon Feb 14 13:53:11 2011 -0600 HPUX: Disable positional I/O Some versions of HP-UX have the pread() and pwrite() functions, but they behave in odd ways; most notably, ignoring the offset argument when _FILE_OFFSET_BITS is defined to 64. This is noted in recent gnulib documentation , and slightly less clear references to pread() being broken can be found on the development mailing list for git itself. It is not completely clear what specific HP-UX versions are affected by this. An autoconf run-time test may also be insufficient, because the same binaries should be usable on machines with broken and non-broken pread() implementations. So, to be safe, disable positional I/O on HP-UX unconditionally. Reviewed-on: http://gerrit.openafs.org/3949 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 11b2c6d6fe4dbbf5a54ae1e08e979c35ab6b7fa0) Change-Id: Iaa27ae965482aafd0f981e70ce33df438af650e9 Reviewed-on: http://gerrit.openafs.org/3964 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 07c00c73a195761180dff9685e54949610721b55 Author: Derrick Brashear Date: Wed Jan 19 22:56:12 2011 -0500 MacOS: don't allow krb5 at login when AD plugin authenticates if AD is being used to verify authentication (e.g. via builtin) don't allow get krb5 at login to succeed. since a helper does this we can't grey the option, but we can decline to act on it. Reviewed-on: http://gerrit.openafs.org/3690 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 6f39035c92713b08065bee28ffdf06c5fe32a971) Change-Id: I8a9fbfcfee92c333af437a925cf09cea9044adc6 Reviewed-on: http://gerrit.openafs.org/3941 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c17a2fd5d3ba674c61c9902e866153010fee079b Author: Derrick Brashear Date: Mon Feb 14 00:25:14 2011 -0500 make 1.6.0pre2 version changes version changes for unix Change-Id: Iadaa2f74a643faa2646897100c7528de5477a5c1 Reviewed-on: http://gerrit.openafs.org/3938 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a0cd6d544c0f95c7a7cca06848b7bb50ab12581a Author: Jeffrey Altman Date: Sat Feb 12 21:10:44 2011 -0500 Windows: Release Notes updates for 1.6pre2 A fairly thorough review of all sections to ensure that the information is up to date. Significant reformatting caused by XML editor. Change-Id: I3d4c12ee98606fa34c31132b4b0ce0d0937471af Reviewed-on: http://gerrit.openafs.org/3937 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 4c1ee95e4aa7daee1cd82b062c1739f1426486c0 Author: Jeffrey Altman Date: Sat Feb 12 14:24:02 2011 -0500 Windows: ChangeLog updates for 1.6.pre2 Change-Id: I19e0dda81df746b9545cb1b9c360af7d207cc665 Reviewed-on: http://gerrit.openafs.org/3926 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-on: http://gerrit.openafs.org/3934 commit 9a91e1a9b190f54e694a9c98f8b2856a310cd825 Author: Marc Dionne Date: Wed Feb 2 21:55:27 2011 -0500 Linux: 2.6.38: dentry->d_count is not an atomic d_count is now an int protected by the dentry's d_lock. Take the lock when we use it, instead of using an atomic_* function. Reviewed-on: http://gerrit.openafs.org/3883 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry-picked from commit 281f5bf5fbb0a546edcce62ef4e097ae9bbdbf73) Change-Id: I45caa6aef451a7f93bfa43dfb1ebe9b0b856fbd0 Reviewed-on: http://gerrit.openafs.org/3935 Tested-by: BuildBot Reviewed-by: Jeffrey Altman commit 66a5faefc78f6a9b8d34a84ea580a2a2889217e4 Author: Jeffrey Altman Date: Tue Oct 26 19:02:31 2010 -0400 Windows: 1.5.78 Change Log summary Change-Id: I6cdd2c5d2818fe69a5454c90fb6cdaeaefc2deb3 Reviewed-on: http://gerrit.openafs.org/3161 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/3933 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 96d085708209e8bc41ffc2667ddad2a03e44f950 Author: Jeffrey Altman Date: Sat Feb 12 13:42:29 2011 -0500 Windows: Version 1.6pre2 1.5.9902.0 Change-Id: I5095d7241bcb9ce11455e09c17bda1dec1d9edf9 Reviewed-on: http://gerrit.openafs.org/3931 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 205e790eeba5837903f996203c5408849821d141 Author: Andrew Deason Date: Fri Nov 12 10:32:57 2010 -0600 doc: Do not process .in files for html We do not want to process .pod.in files when generating HTML versions of the man pages. Change the filename filtering logic to only accept .pod files, so we'll also skip over all other stuff we don't want, like CVS or fragments directories. Change-Id: I246000a9323852d0aeefd7e7357eeece4daa3346 Reviewed-on: http://gerrit.openafs.org/3302 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/3930 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit a62fc323540429a6381220b42a8b84bb5195abdb Author: Jeffrey Altman Date: Sat Feb 12 11:52:12 2011 -0500 Windows: Fix GetIoctlHandle path construction GetIoctlHandle() is used to construct the magic pioctl file path used to initiate pioctl operations with the cache manager. The first error introduced double directory separators. The second error was testing an uninitialized value which could have resulted in a missing directory separator. Change-Id: I691fde63adf295c380312772e7d320ff99e89d70 Reviewed-on: http://gerrit.openafs.org/3929 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d1e412b275dd75b023f9cf1b2bf60140ac80948d Author: Jeffrey Altman Date: Sat Feb 12 11:45:15 2011 -0500 Windows: Fix symlink and mount point make \\afs\xxx handling When processing a request to make a symlink or a mount point in the afs root volume (\\AFS) the smb redirector will fail the request because a server name by itself is not a valid path. Therefore, we insert the "all" share component to refer to the root volume as a valid path. \\AFS\foobar becomes \\AFS\all\foobar. A recent change stripped the trailing slash from the string returned by Parent(). This broke the test that determines whether or not the provided path that failed the IsAFS() test is in fact referring to the \\AFS server and requires the insertion of the "all" share name. This patchset permits the test to work with \\AFS or \\AFS\ and removes extraneous directory separators from the generated path containing the "all" share. Change-Id: Idf5f934aaa22c71789ab7970a8e3cd48e1a79d44 Reviewed-on: http://gerrit.openafs.org/3928 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 5545a5729073b67069cf56afecae987ca1b89afb Author: Antoine Verheijen Date: Mon Jan 24 00:17:46 2011 -0700 OpenBSD: curproc has moved in OpenBSD 4.8 With OpenBSD 4.8, curproc has moved from h/proc.h to h/systm.h. Fix rx_event.c to reflect this change. Reviewed-on: http://gerrit.openafs.org/3749 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit e4660dd8cfb314971224dac5d1d13426d56494dd) Change-Id: Ie59100172daae48dea985749e07416daea88b8d2 Reviewed-on: http://gerrit.openafs.org/3923 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 85eb528a680b3611ab2ee53e6097a68f91b09429 Author: Antoine Verheijen Date: Mon Jan 24 00:16:02 2011 -0700 OpenBSD: Add support for OpenBSD 4.8 Add param headers and other config info for OpenBSD 4.8 support. Reviewed-on: http://gerrit.openafs.org/3748 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit be0e9fb703d9ca0ae17f1117cd53796f82d7fb30) Change-Id: I03d4474d66d015126654d6d031a1870705733a41 Reviewed-on: http://gerrit.openafs.org/3922 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 471ec3d1e25cbd41458454a32fcec3a6ad3ae203 Author: Antoine Verheijen Date: Fri Jan 21 09:25:22 2011 -0700 OpenBSD: Make OpenBSD 4.7 param headers consistent OpenBSD follows the policy of using a separate common param file (post 1.4.x). However, when introducing support for i386 OpenBSD 4.7, this was not done and a single param config header file was created instead. This patch changes the param files for OpenBSD 4.7 so that they are consistent with the other OpenBSD versions by using a separate common param header file. Reviewed-on: http://gerrit.openafs.org/3725 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit cd6bd75d1c97ce87ab1597d80fcd3cee2ea18825) Change-Id: I5845e68f3fd7fac905993a0ac7a371e058c9a618 Reviewed-on: http://gerrit.openafs.org/3920 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit e648f30a675e2675ece78a681fc0be9aaed121a6 Author: Derrick Brashear Date: Mon Jan 31 11:04:08 2011 -0500 evalmountdata null pointer before use volnamep can be used uninitialized. fix that. Reviewed-on: http://gerrit.openafs.org/3777 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit bf72dbf3d5550857a8d41c910baaa722690c1eee) Change-Id: I0d08aeed130882aeda12c0181d5b738d4c889491 Reviewed-on: http://gerrit.openafs.org/3919 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit cc0382da34a0c9b85fd12b3b5288c3765c8ddd85 Author: Marc Dionne Date: Fri Jan 28 20:59:17 2011 -0500 Linux: 2.6.38: deal with dcache_lock removal dcache_lock is gone in 2.6.38, and some of the vfs locking rules have changed. Of interest for openafs: - inode->i_lock protects the d_alias list - dentry->d_lock protects d_unhashed() Add a new configure test for dcache_lock, and replace its use by the appropriate new lock(s). Reviewed-on: http://gerrit.openafs.org/3771 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 2eca7aef7b2940e4ef5f9901ce28481af6edb6dd) Change-Id: Ic6cff1884a55aeb2ab29518e8d160000c6254fc5 Reviewed-on: http://gerrit.openafs.org/3918 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit af5e870f59bf071b79775eb308ed21ea471b589b Author: Marc Dionne Date: Fri Jan 28 19:41:32 2011 -0500 Linux: 2.6.38: Adjust for permission inode operation changes The permission i_op has a new signature with a flags argument, and must now deal with RCU path walking. - Fix existing configure test for this i_op, it succeeds when it shouldn't - Add a new configure test for the new signature - Make our permission i_op "RCU-walk aware" - return ECHILD if called in that mode Reviewed-on: http://gerrit.openafs.org/3770 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 5bcc0ea735ea519298c98b46c66bf1326cdee5e4) Change-Id: Ia47dfe390ea317925acfca709dbd637b68e94ca8 Reviewed-on: http://gerrit.openafs.org/3917 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5d370e4533ade668ce807764cf38d73f38b5f749 Author: Marc Dionne Date: Fri Jan 28 19:03:39 2011 -0500 Linux: allow compile flags to be passed to AC_CHECK_LINUX_BUILD Some linux autoconf tests require particular compile flags such as -Werror. Add a parameter to the AC_CHECK_LINUX_BUILD macro that lets the caller pass in any needed special flags. Adapt a few existing tests that were still using AC_TRY_KBUILD directly. Reviewed-on: http://gerrit.openafs.org/3769 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ca38c9546e323b59189670b80740510fb9ec5269) Change-Id: I421c95f4f4f0b001ac1eab400dfbabfd2008e7a5 Reviewed-on: http://gerrit.openafs.org/3916 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 968aa2042cb3834cefd39db852999d23649ea080 Author: Jeffrey Altman Date: Mon Feb 7 16:44:09 2011 -0500 Windows: correct pthread_xxx_init semantics pthread lock and conditional initialization semantics do not require that the lock structure be zeroed before pthread_xxxx_init() functions are called. Since the Windows CriticalSection initialization does require that the memory be zeroed, the pthread_xxxx_init() functions must zero the memory just in case before performing the CriticalSection initialization. Reviewed-on: http://gerrit.openafs.org/3904 Reviewed-by: Derrick Brashear Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit ae11ef7898ecffe8eb2a38151602572c24e32a76) Change-Id: I71092131183daa0627c21c328bd5e5bf182a0fc2 Reviewed-on: http://gerrit.openafs.org/3915 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 006260b8b0794b20ce83e466bae23518249f1d6f Author: Jeffrey Altman Date: Wed Feb 2 19:24:00 2011 -0500 Windows: remove duplicate advapi32.lib references advapi32.lib is included in the conlibsdll macro. No need to include it in the link list twice. Reviewed-on: http://gerrit.openafs.org/3882 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 15c497e90edc69312dba6843521ff08f0ac19248) Change-Id: Ibcd82014ca28e8ba0bec6e184bc5ae276a0eea90 Reviewed-on: http://gerrit.openafs.org/3914 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 74296237ca5d1d255896e2571224f1d80672d2a9 Author: Ken Dreyer Date: Thu Feb 3 15:22:02 2011 -0500 spelling/grammar fixes for manpages Several small fixes for spelling and grammar. Reviewed-on: http://gerrit.openafs.org/3890 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit dca093a17097f7e24d43afe4544e4be896b86680) Change-Id: Id7a937572a1806f0ef812b8d7089ed5d3c5dabd9 Reviewed-on: http://gerrit.openafs.org/3913 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 8d308a9552fcff843b2eda3ee86ef0ad045f2692 Author: Ken Dreyer Date: Wed Feb 2 11:49:31 2011 -0500 spelling/grammar fixes for vos_clone manpage Small spelling/grammar fixes for the vos_clone manpage. Reviewed-on: http://gerrit.openafs.org/3879 Reviewed-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit ad05600d86d6737f55d7b785bc7c503c4a45be00) Change-Id: I112899208f1b556a84d20d9ea2f2542f030cbfdc Reviewed-on: http://gerrit.openafs.org/3912 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7f8744c33196eb4af612f8c181f0ba73f1309180 Author: Jeffrey Altman Date: Mon Jan 31 11:43:39 2011 -0500 Windows: No NCBRESET when probing Loopback after start The Netbios NCBRESET command resets all of the Netbios state associated with the LAN adapter including the name bindings. In response to a detected LAN adapter IP address change, the smb_LanAdapterChange() function is called to determine if any Netbios LAN adapter bindings that were in use or should be in use by afsd_service were altered. As part of the check, lana_GetUncServerNameEx() is called which in turn calls lana_FindLoopback() which in turn issued a lana_IsLoopback() for each LAN adapter with the 'reset adapter' flag set to TRUE. Calling lana_IsLoopback() with 'reset' equal TRUE was fine when lana_GetUncServerNameEx() was only called from smb_Init(), but it is not fine when called after the service is processing calls. By resetting the adapter the binding of the netbios name "AFS" (or "-AFS") is removed and all outstanding calls are canceled. If the SMB redirector attempts a reconnect during the window before NCBADDNAM is called to re-bind the name, a negative cache entry will be placed in the netbios name lookup table that will prevent the SMB redirector from connecting to the client for several minutes. If the environment is one in which frequent IP address change events are triggered, it is possible that the SMB redirector will never be able to reconnect to the service. This patchset adds a flag, LANA_NETBIOS_NO_RESET, to the lana_GetUncServerEx interface which permits smb_LanAdapterChange() to avoid the undesirable reset. This negative flag was selected in order to avoid changing the current default behavior as the lanahelper library is used by out of tree installers and it is preferred that OpenAFS avoid breaking them unnecessarily. Reviewed-on: http://gerrit.openafs.org/3821 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit efe4a20c46c73c39bd979437956beddcd3057bc3) Change-Id: Ice4380550fec8c1ac2c2c5ec76e1b73f23cd4829 Reviewed-on: http://gerrit.openafs.org/3911 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit e5c361ee5e32cfe007b2283edb9704dc66f43326 Author: Jeffrey Altman Date: Mon Dec 27 17:57:59 2010 -0500 Windows: cleanup preprocessor definition namespace Do not use reserved preprocessor symbol names. Instead use OPENAFS__
_H formatted names where is the subdirectory path from src/ in which the header file originates in the repository. Reviewed-on: http://gerrit.openafs.org/3599 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 8e9fff9ed8d773e4a22730d485c0617c456bb0e0) Change-Id: Ic99253b74d3d88712b1959757d294b31ad590ba0 Reviewed-on: http://gerrit.openafs.org/3806 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e0753a6f560c45aa47e038bc6b718873d2fd634d Author: Andrew Deason Date: Thu Sep 2 15:05:21 2010 -0500 namei: Limit traversal when removing data dirs namei_RemoveDataDirectories currently calls delTree with 'tree' pointing to the part of the path immediately following n_base (i.e. starting at the beginning of n_voldir1). This causes delTree to traverse all of n_voldir1, trying to delete every directory it finds. Since we are typically only trying to remove a single volume when calling namei_RemoveDataDirectories, instead call delTree with 'tree' pointing to immediately after n_voldir1, and beginning at n_voldir2 and try to just rmdir n_voldir1 afterwards. This way, we do not traverse a large fraction of the entire partition when just trying to delete a single volume, and so can significantly speed up volume removals. (cherry picked from commit 1ca0a24775794ba2e645854a3bbaa656f2fc8086) Reviewed-on: http://gerrit.openafs.org/2651 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: Iadae1e231b533695af615a231e42ad8204674fe4 Reviewed-on: http://gerrit.openafs.org/3908 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit efd3fa3808499ede8c19ba3ede7bd67524538da1 Author: Andrew Deason Date: Thu Sep 9 14:10:01 2010 -0500 namei: Do not remove n_voldir1 When removing data directories in namei_RemoveDataDirectories, do not remove the n_voldir1 directory (directory X in /vicepa/AFSIDat/X). Removing this directory can race against the creation of an entirely unrelated volume, causing the create op to fail (since it tries to create a directory in a directory that no longer exists). We don't currently have the necessary locking to make this safe, and since the overhead of n_voldir1 existing is pretty negligible, just leave it there. Also add some comments briefly justifying this. Note that other similar races probably exist for directories under n_voldir1, but they would only be between volumes in the same VG, and so are much less likely to occur. (cherry picked from commit f2df207274c65b4fa8c24419150e9084a4d17fca) Reviewed-on: http://gerrit.openafs.org/2727 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I2df4b73dd5125da0a2de52c3011ba167dc036a8b Reviewed-on: http://gerrit.openafs.org/3907 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d3cdeb9e78bec864e9939c5ad6f2d5e9086fbfa4 Author: Andrew Deason Date: Sun Nov 21 21:29:11 2010 -0500 Remove unreached lines Fix some macros to eliminate unreached trailing empty statements (such as: "{code = foo; goto error;};"), and other oddities causing "statement not reached" warnings. Also eliminate a couple of code blocks that were never reached. (cherry picked from commit 1c45cc746e7484e72191fc8d010640692e90bc82) Reviewed-on: http://gerrit.openafs.org/3368 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: Ibe9a94c64d38fe102fdf4fb9c182a5eb3b2adaa5 Reviewed-on: http://gerrit.openafs.org/3906 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b682683bdd032157626448b504336c174e0809c1 Author: Jeffrey Altman Date: Thu Oct 28 00:40:32 2010 -0400 vol: Always use INVALID_FD to indicate an invalid fd file descriptors on Windows are not ints and therefore cannot be safely compared against -1. Always use INVALID_FD which is -1 on UNIX and INVALID_HANDLE_VALUE on Windows. Reviewed-on: http://gerrit.openafs.org/3178 Reviewed-by: Derrick Brashear Reviewed-by: Andrew Deason Tested-by: Derrick Brashear (cherry picked from commit d21dd16789458c07e63abe021f93f656dba4e52c) Change-Id: I99e0ef2f0c1ff23817ffb13b270bc0f04bcf12a4 Reviewed-on: http://gerrit.openafs.org/3905 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d69b87724790ceb2db25b580cebfc4f18f99dbf9 Author: Andrew Deason Date: Thu Sep 2 11:25:27 2010 -0500 vol: Add VInit cond var and remove busywaits In DAFS, FSYNC_sync was waiting for VInit to reach at least 2 by looping around pthread_yield(). For a server with a large number of volumes, it can take a while for volumes to preattach, and so we are effectively busy-waiting for preattach to finish. This can slow fileserver startup and peg the cpu. So instead, add a condition variable for when VInit changes, and wait on that. Also modify other checkers of VInit to use the cond var. (cherry picked from commit 31bb2e5eb5feb9c8e84d17b49fe70268127cdd43) Reviewed-on: http://gerrit.openafs.org/2648 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: I773ab01095bb0c101a34146ef9bf201946ebcf8b Reviewed-on: http://gerrit.openafs.org/3887 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 123c79c2b9a7b1b761df2b67900fe64adb54e091 Author: Andrew Deason Date: Mon Jul 12 15:47:15 2010 -0500 Avoid thread-unsafe PrintInode in threaded code Some potentially-threaded callers were calling PrintInode with a NULL first argument, which is not threadsafe. Alter them to use local storage. (cherry picked from commit 38cf31463e3f3c675de727c1e793e117a90e6d20) Reviewed-on: http://gerrit.openafs.org/2593 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I4b6e0f8c41180c017739dbfdb4f2ecbce96df8ec Reviewed-on: http://gerrit.openafs.org/3886 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ab6f0b9630887d634103f425336b2bb38a063580 Author: Jeffrey Altman Date: Thu Oct 28 00:43:26 2010 -0400 vol: Use OSI_NULLSOCKET and not -1 to indicate invalid fssync fd The FSync file descriptor is an osi_socket which has an invalid value of OSI_NULLSOCKET which is not necessarily -1. Be sure to compare against OSI_NULLSOCKET and not -1 when checking an invalid value. Reviewed-on: http://gerrit.openafs.org/3179 Reviewed-by: Derrick Brashear Reviewed-by: Andrew Deason Tested-by: Derrick Brashear (cherry picked from commit e8991ff8286f151d109bb4f98d885a583e198f83) Change-Id: I1627ce0b78d10626b7d375546b400459ff1724ca Reviewed-on: http://gerrit.openafs.org/3885 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 1c8b1964f8d24fb709baf04fe2e1460d08fba848 Author: Andrew Deason Date: Mon Jan 31 15:00:09 2011 -0600 Rx: Do not stop keepalives on ACKALL receipt We need to still keep sending periodic keepalives after receiving an ACKALL, since the call is not done yet. ACKALLs can be received when the peer has received all data from us, well before the call has finished. This is particularly noticeable for long-lived calls that have little data transfer, such as AFSVolForward and AFSVolForwardMultiple. This reverts commit b1549f29a9515de09d4a64bfb28bf5afdfee2615, which was intended to be part of a fix for RT 20727. FIXES 128848 Reviewed-on: http://gerrit.openafs.org/3876 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ba51b43e3558058b949ccc5de1d4559e4caf9d9b) Change-Id: I9a2edb819ba052786ec9f4c9d15d11ea48905af3 Reviewed-on: http://gerrit.openafs.org/3878 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c26c4ad4eec6f6eea50291404165a1d43f4bb22f Author: Jeffrey Altman Date: Sat Jan 29 23:24:16 2011 -0500 Windows: out of order locks cm_CheckCBExpiration The recent refactoring of cm_CheckCBExpiration introduced a lock ordering error between the cm_scache_t rw lock and the cm_scacheLock. This patchset fixes the error by dropping the cm_scacheLock as each cm_scache_t is being processed. Reviewed-on: http://gerrit.openafs.org/3773 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 67195401c915b23e092f98c89ab5f5580a9cf3f6) Change-Id: I14e57ca1b6b2f86bee585bc6fa86bdf0b7d77d44 Reviewed-on: http://gerrit.openafs.org/3872 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit e4ff7ed4c2be9c17c1fe4709554eafe08dae8dc4 Author: Rod Widdowson Date: Fri Jan 28 16:49:03 2011 +0000 Do not compare an FD_t < 0 FD_t is an abstract type. Invalid file decriptors are == INVALID_FD. In most places this module does the right thing. Fix the last stragglers where it is testing as less than zero. Reviewed-on: http://gerrit.openafs.org/3768 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit 299e942ae98dfea3a4804c724e5d440715974e0c) Change-Id: I8f676c45794ecf53af65e9b3089c7b2d075089bb Reviewed-on: http://gerrit.openafs.org/3871 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit f709e62625758e6c65f752b7d29c2ce1123ee9d4 Author: Marc Dionne Date: Tue Jan 25 18:18:56 2011 -0500 linux: 2.6.38: Make d_revalidate RCU-walk aware Signal to the vfs that we don't support path RCU walk in d_revalidate. It will call back in non-RCU mode. (cherry picked from commit 52556d50298e4a636f07e9a3cf0b6557c882c82d) Reviewed-on: http://gerrit.openafs.org/3759 Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: I44d8577feba382a193d1f1735a05db74c3151df0 Reviewed-on: http://gerrit.openafs.org/3870 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 06b8a3d52b2d6a3c8c1512bb9a21689e0d1c8b34 Author: Marc Dionne Date: Tue Jan 25 17:17:21 2011 -0500 linux: 2.6.38: New d_op handling In 2.6.38, the super block structure has a new field to hold the default dentry ops. The vfs will automatically set it for new dentries in most cases. Set s_d_op to our set of operations, and omit setting the dentry ops where the vfs will already do it (and where new locking rules prohibit it). Reviewed-on: http://gerrit.openafs.org/3758 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 08bb83d95027bb3ac68834d12b72bdc647fa24a9) Change-Id: Ia108e8c7c624521965bdbddd7a37ebf281eb7967 Reviewed-on: http://gerrit.openafs.org/3869 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 23d6287f7f494383891a497038e8c0e870e824bf Author: Andrew Deason Date: Thu Dec 2 17:13:17 2010 -0600 RX: Avoid retrying calls on busy channels When we receive an RX_PACKET_TYPE_BUSY packet, we currently ignore it. This is a problem when the server has a long-running call on that same call channel that we don't know about, since we will then keep retrying the call on the same channel and keep getting RX_PACKET_TYPE_BUSY responses. Try to avoid this by returning the RX_CALL_TIMEOUT error when we get a BUSY packet and there are other free call channels available on the conn. When the application gets the error and retries the call, we avoid using the same call channel again where possible. When all of the call channels appear busy, we revert to effectively the old behavior of retrying the call on the same channel until we get an RX_CALL_DEAD (or similar) error. FIXES 128671 Reviewed-on: http://gerrit.openafs.org/3431 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 54fb96d2b6517ae491fd7a7c03246850d29156d5) Change-Id: I098c482a6a5b9f34907e9f8f40913df40c5b5d4b Reviewed-on: http://gerrit.openafs.org/3763 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit fb1bc201648969e29571252e210aba370b9e5c86 Author: Jeffrey Altman Date: Wed Jan 26 20:10:57 2011 -0500 Windows: Correct cm_volume locking cm_volume_t flags was used for two categories of flags. The first protected by the cm_volume_t->rw lock. The second protected by the global cm_volumeLock. Separate the flags field into two afs_uint16 fields and break the flag space into FLAG and QFLAG. Add assertions to the volume LRU functions to ensure that they are always called with cm_volumeLock write-locked. Correct two locations where cm_AdjustVolumeLRU() was called read-locked instead of write-locked. Reviewed-on: http://gerrit.openafs.org/3760 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 962a95c21cc82a8bbb1dc1233c91acd7236fc8e4) Change-Id: I6c60dd770057f665f66bf3cea2d653bbe2524979 Reviewed-on: http://gerrit.openafs.org/3867 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a9b922a282cb25cf8de384ba7f1a751ee5e88f24 Author: Andrew Deason Date: Tue Jan 25 10:46:38 2011 -0600 vol-salvage: Only delete bad vnodes during !check In SalvageIndex, if check is true, we're only supposed to check for consistency and not actually change anything (this is enforced by an assert later on). The check for vnode magic consistency breaks this assumption, and just always fixes the vnode. Change this so we just error out if check is set, and the vnode magic is wrong. Reviewed-on: http://gerrit.openafs.org/3756 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5817a13b84496c087b350be50c17a8b0f9aac9d5) Change-Id: I1b12c56d680111ba71b611ab9bbb6159a35dd14e Reviewed-on: http://gerrit.openafs.org/3866 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2e2da579524244cc4ec2e18f3608700c9c3b3072 Author: Jeffrey Altman Date: Thu Dec 2 00:36:58 2010 -0500 Windows: cm_GiveUpAllCallBacksAllServersMulti() Implement a multi_RXAFS_GiveUpAllCallBacks version of cm_GiveUpAllCallBacksAllServers() and use it in place of the non-multi version. Reviewed-on: http://gerrit.openafs.org/3648 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 5fe04739e0407079a0439f28c6aaaa86d5399e71) Change-Id: I99660917d9f658cb95be6655aa9fb30cdf73b164 Reviewed-on: http://gerrit.openafs.org/3865 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 759e11e81c6c17171ca8c63383df1b94568faa76 Author: Rod Widdowson Date: Sun Jan 23 14:29:51 2011 +0000 Windows: fix parameters and return value from nt_seek SetFilePointerEx takes specific values (FILE_BEGIN/FILE_CURRENT/FILE_END) whilse fseek requires SEEK_SET, SEK_END, SEEK_CUR. It turns out that these overlap, but we should not let that pass unchallenged. SetFilePointerEx returns nonzero for success zero for failure. fseek returns the other way around. Neither of these changes currently matter, but we should fix them. Reviewed-on: http://gerrit.openafs.org/3746 Reviewed-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 4f838b03bbf9ea0e1ede8a188ea6dde3efb4e231) Change-Id: I295d172e8f14bc50facf38f08e3dc3af02b7404b Reviewed-on: http://gerrit.openafs.org/3864 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 067dcf3f157bbe20087d2b7a7a82d5758004c388 Author: Rod Widdowson Date: Sun Jan 23 10:59:28 2011 +0000 Windows: read and write take void* buffers, open takes a const char* nt_read and nt_write were defined to take a char* buffer which was then cast to a void *. Meantime every call of OS_READ and OS_WRITE were casting to a char*. Equally every call of OS_OPEN was passing down a const char*, causing warnings. This checkin fixes this: nt_read : char* to void* nt_write: char* to const void* nt_open char* to const char* Reviewed-on: http://gerrit.openafs.org/3744 Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit 6d2636b886789f2ddc6374c6b7e58ccd28d518aa) Change-Id: Ib07ea6d1e0dad935717810c1279cc7f38645e229 Reviewed-on: http://gerrit.openafs.org/3863 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 280b4c44056a7f8bafe7e8a1d547d254df4ad5bc Author: Antoine Verheijen Date: Mon Jan 24 00:38:03 2011 -0700 OpenBSD: Eliminate complaint about built-in malloc. With OpenBSD 4.8, OpenBSD now uses gcc 4. With its new defaults, the OpenAFS compile of the kernel module now complains incessantly about the conflict between the built-in malloc versus the kernel version (which has extra parameters). Therefore, set -fno-builtin-malloc when compiling the kernel module to remove the noise since the differences can't be reconciled otherwise. Reviewed-on: http://gerrit.openafs.org/3751 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 42c5806599c1df65ee8ec1272f691df30ea44d4c) Change-Id: I311d9c642d6272acd229a64a6a72eedf7dd39018 Reviewed-on: http://gerrit.openafs.org/3862 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f24d94ff6ad375f78c7d9b660b0019441856c5e9 Author: Antoine Verheijen Date: Mon Jan 24 00:34:56 2011 -0700 OpenBSD: Remove user.h from dir.c for OpenBSD 4.8 OpenBSD 4.8 no longer needs to include h/user.h in dir.c and it's presence now gets in the way of the compile so remove it. Reviewed-on: http://gerrit.openafs.org/3750 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit e1b0a95352e2e6aa312a526ffcc8a2f77a8fb7df) Change-Id: I7f46c816f6fcd8ce6018f5e93f2ea0044b221b51 Reviewed-on: http://gerrit.openafs.org/3861 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f9105fc04e041c426330dd1df31eb0b502e03ad4 Author: Rod Widdowson Date: Sun Jan 23 14:32:04 2011 +0000 Windows: remove unused label in ntops.c The label 'retry' in nt_open is not used and was causing a warning. Remove it. Reviewed-on: http://gerrit.openafs.org/3747 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 40497fa667d15aaaa8f6befdc45cff40cc544616) Change-Id: I7887e4ba31556b2bf6b1e2a4867aecd1e8b41297 Reviewed-on: http://gerrit.openafs.org/3860 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9110aac6930a84bc9c61c988743e3b1a447d54df Author: Rod Widdowson Date: Sun Jan 23 12:04:59 2011 +0000 Windows: remove faulty assumptions about device names in vol-salvage The implementation has an assumption that all disk volumes have an object name of \Device\HarddiskXXX (where XXX is a number). This is wrong since the name is purely a convention and since about WXP they have been called \Device\HarddiskVolumeXXX. Either way it is spurious to assume the format and then try to compare the XXX. This change just compares the strings. This is done in a case insenstive manner which is the safer option. It is quite feasible, but very unlikely that someone will uses 'case sensitively different' object names. Reviewed-on: http://gerrit.openafs.org/3745 Tested-by: BuildBot Reviewed-by: Jeffrey Altman (cherry picked from commit ffb0cdcc91d86f6e7b62561aebe6dcb722c3d768) Change-Id: I3f69c2a8f76d073afcfe626eec45be9942bf4042 Reviewed-on: http://gerrit.openafs.org/3859 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fb90ef8b3c658644f5153c373fd2d3ad47815625 Author: Jeffrey Altman Date: Fri Jan 21 20:13:45 2011 -0500 Windows: more exports afsauthent.dll pr_SIdToName afsconf_GetExtendedCellInfo afsconf_UpToDate required for new Explorer Shell functionality (cherry picked from commit f60bca943f7bc6352a5f7beedbb7ca47559f3513) Reviewed-on: http://gerrit.openafs.org/3739 Tested-by: BuildBot Reviewed-by: Stefan Kueng Tested-by: Stefan Kueng Reviewed-by: Derrick Brashear Change-Id: I0363885c915a9c97bb6f290b5a16d184b244b0b3 Reviewed-on: http://gerrit.openafs.org/3858 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce7f811ee75b495bc7db6f1186943f960030f827 Author: Jeffrey Altman Date: Sat Jan 22 12:15:03 2011 -0500 Windows: log and invalidate invalid dir pages If when parsing a directory page in cm_ApplyDir the consistency checks fail, log a message and invalidate the page in case it was a transient failure. Reviewed-on: http://gerrit.openafs.org/3742 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit de7af90fb8a1a132fb44fcc3d732fb593a45f6db) Change-Id: I76cd2738df31b1609d0065ac2706a86f75d8a269 Reviewed-on: http://gerrit.openafs.org/3857 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0ac30f5598f1f03b992151dac04f4a6ffc99099f Author: Jeffrey Altman Date: Thu Jan 20 02:15:18 2011 -0500 vol: fix CreateFile params nt_unlink and nt_open nt_unlink: when opening a file handle to assign delete on close status the caller must request DELETE permission. nt_open: make sure that DELETE permission along with FILE_SHARE_DELETE is requested if we wish to permit another CreateFile call in the future to assign delete on close. Reviewed-on: http://gerrit.openafs.org/3711 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Rod Widdowson Reviewed-by: Derrick Brashear (cherry picked from commit 5fdc2679dc973fa45bf4b3bc7f21a527492868db) Change-Id: I63855a65c5e209dc7b601e5b5b67ccb21bfb653c Reviewed-on: http://gerrit.openafs.org/3856 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 11d2f9289791656cfbe6a645ac54ae80f75def57 Author: Jeffrey Altman Date: Thu Jan 20 02:19:03 2011 -0500 vol: namei_ops improve readability; fix namei_create on Windows use NAMEI_SPECDIRC, NAMEI_INODESPECIAL, INVALID_FD and other preprocessor symbols in place of numeric constants. namei_create() on Windows must call namei_CreateDataDirectories() and retry if the afs_open() call fails with either ENOTDIR or ENOENT. modify namei_HandleToName() on Windows to make its decision process clearer. Reviewed-on: http://gerrit.openafs.org/3712 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit d6528628b4dcadce47bb1a9244768ca3d43b0bf3) Change-Id: I4d55a7e3e8d0f942058d568c8f2f9f1ae1855044 Reviewed-on: http://gerrit.openafs.org/3855 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit dfb7202bf37bb0ed723369017c724468a34030fc Author: Jeffrey Altman Date: Thu Jan 20 02:06:12 2011 -0500 vol: add comment nt_unlink cannot with fopen handles On Windows, files opened via the CRT fopen or open POSIX compatibility functions cannot be marked for delete on close. Add a comment until such time as the use of fopen and open on Windows can be replaced. Reviewed-on: http://gerrit.openafs.org/3707 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Rod Widdowson (cherry picked from commit eb6f3a89a3f4da6d3de2d4ae34743014e4eb0fb2) Change-Id: I6d66617b53f46e832d72ac8ed9a41730fafca521 Reviewed-on: http://gerrit.openafs.org/3854 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d12d7856ddfc297043a9bc0aa9b84199bfe80954 Author: Jeffrey Altman Date: Thu Jan 20 02:03:56 2011 -0500 vol: remove potential data loss warnings in vol-salvage.c afs_sfsize_t is not always the same size as 'int'. Avoid warnings by using afs_sfsize_t in the appropriate locations. Change-Id: If77379b17fa984e3dacd2740726b7309a0e640dd Reviewed-on: http://gerrit.openafs.org/3706 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Rod Widdowson Reviewed-on: http://gerrit.openafs.org/3853 commit 1af19c472ea1adcae1dee957e6e021f9f8a54488 Author: Andrew Deason Date: Wed Nov 10 09:11:47 2010 -0600 Use afs_foff_t for file offsets Some callers in vol and volser were not using afs_foff_t for file offsets for calls to STREAM_ASEEK, FDH_TRUNC, FDH_PREAD, or FDH_PWRITE. Most notably, in code for volume cloning, purging, and dumping operations. Fix them to use afs_foff_t to prevent errors when dealing with large special files. Reviewed-on: http://gerrit.openafs.org/3289 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit ef8c3db90ae9ec25705027c609a1bae5f186c4f1) Change-Id: I17910490484efcd812f45dfeef1a99d6e450f5fa Reviewed-on: http://gerrit.openafs.org/3894 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d176aa38b9582d19905c3820189022862a5a7a8b Author: Jeffrey Altman Date: Thu Jan 20 01:59:46 2011 -0500 vol: use OS_UNLINK instead of unlink Use OS_UNLINK in order to ensure that platform specific unlink functions are called. OS_UNLINK is unlink on Unix. Reviewed-on: http://gerrit.openafs.org/3704 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 089a3f5e8b0b00942cd0ccff5be7b4f671fcbf82) Change-Id: Ib3207b7c365b9ede5299bdbc7626e63450198ad7 Reviewed-on: http://gerrit.openafs.org/3851 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 573982aae3c4feaf6e90c28a4c0a679e0fa9210b Author: Jeffrey Altman Date: Thu Jan 20 01:56:33 2011 -0500 vol: fix namei_ListAFSSubDirs on Windows The directory level represented by 'dirp2' does not exist on Windows. Do not attempt to close the DIR object that was never opened. Remove unnecessary function prototypes. Reviewed-on: http://gerrit.openafs.org/3703 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 141aca818ef9e5a6af309edc9512cc5cfee38e90) Change-Id: I640d834f0bfd6490cf43183843d771f792f7fc06 Reviewed-on: http://gerrit.openafs.org/3850 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f5ee8c002bb5858094696b6e4904a81c93ab15f7 Author: Jeffrey Altman Date: Thu Jan 20 02:01:38 2011 -0500 vol: use correct file name base for temporary file Inconsistent use of temporary file name bases resulted in the temporary files never being deleted. Reviewed-on: http://gerrit.openafs.org/3705 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 01fc5d0577409c889ca5ad6f3bc1d624138922bc) Change-Id: Ia66d30fec2633bc2fbb8a6fcc5fd42a9fc9cace0 Reviewed-on: http://gerrit.openafs.org/3852 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 003113ca69bd87955a5399415343d8eac533a037 Author: Jeffrey Altman Date: Thu Jan 20 01:51:26 2011 -0500 vol: use OS_DIRSEP in many more places For consistency use OS_DIRSEP and OS_DIRSEPC throughout the package. (cherry picked from commit 259a0e886a29874420010544e33a789cac1692c1) Reviewed-on: http://gerrit.openafs.org/3702 Reviewed-by: Derrick Brashear Tested-by: BuildBot Change-Id: Id18bbe7759bc96f83c7a00a0a8698a868fc54c2a Reviewed-on: http://gerrit.openafs.org/3900 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 472b6e23d1b8ab1614538466626c5ae6de46fb06 Author: Jeffrey Altman Date: Thu Jan 20 02:11:57 2011 -0500 vol: nt_open should not create missing directories Revert the prior change that added directory creation to nt_open(). nt_open() should fail and the caller should create the directories. Failure to do so results in an incomplete tree which confuses the salvager. Reviewed-on: http://gerrit.openafs.org/3709 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 1ad22ed7e14d1ed643add0dbf80c82b96ae69fc8) Change-Id: I4669ee27bd5c3d9100f3e7fc880d6c32e990493f Reviewed-on: http://gerrit.openafs.org/3844 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7c5e66068a7ceaeaf2f2bc1ae34a347c0fb80253 Author: Jeffrey Altman Date: Thu Jan 20 02:09:44 2011 -0500 vol: Make ntops functions 64-bit capable Add 64-bit offset and length support to ntops functions. Reviewed-on: http://gerrit.openafs.org/3708 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 3c25ae062a30c83f6dfb388f31878555d6cb63d7) Change-Id: I5a39e1c255cf5a28e53e9f96d4faf8a6a7e7ebf6 Reviewed-on: http://gerrit.openafs.org/3843 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 0c31f0208db96cf0b6e7d84dc919bee7ed20588e Author: Jeffrey Altman Date: Thu Jan 20 01:33:27 2011 -0500 vol: avoid defining unused struct on windows namei_ogm_t is not used on Windows. There is no equivalent to owner/group mode. Reviewed-on: http://gerrit.openafs.org/3698 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 48508a202129be6e56beaec56314cc13d68d69f5) Change-Id: I6f7c5dc22e45f4da45ebc391512e4a296fe4b2ca Reviewed-on: http://gerrit.openafs.org/3842 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e93ea27b6777de46b281acb5a114b6ac8ba9ddaa Author: Jeffrey Altman Date: Thu Jan 20 01:31:41 2011 -0500 vol: indent cpp definitions; add NAMEI_SPECDIRC Reviewed-on: http://gerrit.openafs.org/3697 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 5184261cde260f1aaf67a7cb2fea1b9ba3a4b2b0) Change-Id: I7ab38f6df8892ca6c6e238e22847efdbaec45242 Reviewed-on: http://gerrit.openafs.org/3841 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cf01d49487f4bb6b9fc958b3848e1dc3ac6e18fd Author: Jeffrey Altman Date: Thu Jan 20 01:20:05 2011 -0500 vol: remove [UN]LOCKFILE data loss warnings on Windows Cast to DWORD since the results of the mask and shift are guaranteed to be 32-bit. This avoids sixteen warnings. Reviewed-on: http://gerrit.openafs.org/3695 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit fe9285f77a680b6e6d0995166f3c384aac676a8c) Change-Id: Ic9a17074ce76d1676bb7d83e2e17d7c50e1c45a0 Reviewed-on: http://gerrit.openafs.org/3840 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit de350399d593c94f456a53f50d2e08a6a0b1d7ae Author: Jeffrey Altman Date: Thu Jan 20 01:45:29 2011 -0500 vol: fix _namei_examine_reg DELETE_ZLC usage replace 'i' with 'dirl' and assign the new variable a value before using it. Reviewed-on: http://gerrit.openafs.org/3701 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 8bb5e291777a0439c7a15262bdbc70d8bd9cc4a6) Change-Id: I9c7bb592516f609174fbf2a7b3bb6b5e0e81ba72 Reviewed-on: http://gerrit.openafs.org/3848 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1cf2d94d4703807186924cc4b5fabc5ded7215bf Author: Jeffrey Altman Date: Thu Jan 20 01:39:11 2011 -0500 vol: make it clearer that SetOGM is not impl on Windows Separate the SetOGM function into two implementations to match the other OGM functions. Implement the Windows version as returning -1 always. In the future, the OGM functions could be renamed to express their purpose: saving and restoring the volume id and tag associated with a file. Windows currently encodes this information using the CreationDate and the file name but in the future this information might be stored in an alternate data stream. Reviewed-on: http://gerrit.openafs.org/3700 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 270e5c01784f6459dd3d1dec81b714a6d7f2baea) Change-Id: I347fb7b135c6fccb941ca4e34b3fb4f080f5b09c Reviewed-on: http://gerrit.openafs.org/3847 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 278e58232ebbed48c1ce3e3a3833a5ff2df3c1ee Author: Jeffrey Altman Date: Thu Jan 20 01:35:08 2011 -0500 vol: avoid double dir separators from addtoname The manner in which addtoname() is used can often result in double dir separators in path names. Check for it and avoid doubling the separator in addtoname() Reviewed-on: http://gerrit.openafs.org/3699 Reviewed-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Rod Widdowson Tested-by: BuildBot (cherry picked from commit 959a892afcc1f33871489912a8ea183fc7fca6c2) Change-Id: Ic9942f08af4ce45310bfffae5922c67a0655774d Reviewed-on: http://gerrit.openafs.org/3846 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ca1916ea8f9ce467a429a6dc8c239e46247ff4f7 Author: Jeffrey Altman Date: Thu Jan 20 01:23:37 2011 -0500 vol: clear ih_synced before dropping lock in ih_reallyclose() clear ihP->ih_synced before dropped the IH_LOCK. ih_reallyclose() is already committed to performing the OS_SYNC() call. Failing to clear the ih_synced flag before dropping the lock permits another thread, the ih_sync_all() thread for example, to also conclude that it must sync the file. Reviewed-on: http://gerrit.openafs.org/3696 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 9e689e96099dba5227e62ea2c6069062daaac85a) Change-Id: I18baf1e1cd409a108845c2db2cb38144593016c8 Reviewed-on: http://gerrit.openafs.org/3845 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4f370b4bfa40c2979fdaaad4f52cde1fd80de934 Author: Derrick Brashear Date: Wed Jan 19 14:58:59 2011 -0500 MacOS: panic decoder should check for unloaded kexts if the openafs kext was unloaded from under us, try to handle that. Reviewed-on: http://gerrit.openafs.org/3683 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 9743a644adb37230eae3b11ad3e4a1e8e7a1ebce) Change-Id: Iaa0ac75de42424411ea66f04afdf0e8303aa4adc Reviewed-on: http://gerrit.openafs.org/3839 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b95c58fe34c202d2a67aa9cacedaa6cebe7e735b Author: Jeffrey Altman Date: Sun Jan 16 16:42:15 2011 -0500 volser: select() cannot be used to sleep on windows On Windows must use Sleep() instead of select() with no fd_set parameters. Reviewed-on: http://gerrit.openafs.org/3675 Tested-by: BuildBot Reviewed-by: Rod Widdowson Tested-by: Rod Widdowson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Andrew Deason (cherry picked from commit 26f0ddd0cd3c7c34880e8717d59ee1d653036455) Change-Id: I14ee3664bc247a432e8b350f78c7b7e56b8232b2 Reviewed-on: http://gerrit.openafs.org/3838 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1382795ebdcde0fea91d923714270edf4b560ded Author: Jeffrey Altman Date: Sun Jan 16 15:49:02 2011 -0500 Windows: refactor cm_CheckCBExpiration multihomed cm_CheckCBExpiration() is refactored to make it easier to read the decision process. cm_CheckCBExpiration() determines when a callback is no longer usable and as a result the object status info should be discarded. The windows cache manager preserves status info past callback expiration if all of the sources of a volume became inaccessible prior to the callback expiration time. The cache manager was improperly preserving the status info for objects when the callback was issued by a multi-homed file server when only the interface that issued the callback is down. A separate cm_server_t object is used to represent each file server interface. When one interface goes down and others are left up, the cache manager will now replace the down cm_server_t reference for one that is up. This substitution is performed as a side effect of computing the effective downTime in cm_CBServersDownTime(). Reviewed-on: http://gerrit.openafs.org/3674 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 8895fe0fab04d49f8c2b279d915c5f292b55c2be) Change-Id: I43e05dde3d2f12d2130b34125a6103b22f0259e9 Reviewed-on: http://gerrit.openafs.org/3837 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 25a77d00e204e082c1b5dd736cef5076bf719f02 Author: Jeffrey Altman Date: Fri Jan 14 00:22:39 2011 -0500 Windows: use cm_ServerEqual() in cm_Analyze() In cm_Analyze() when processing VNOVOL, VMOVED or VOFFLINE errors do not use pointer equivalence as the test to determine if a server is affected by the error. Use cm_ServerEqual() instead. Fix cm_ServerEqual() to work even when both cm_server_t objects are not UUID aware. Reviewed-on: http://gerrit.openafs.org/3659 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f25cbdf09ff890846a68f619ccb1d00ab2b3c7a8) Change-Id: Iabebbb0e620c42898b428352ea2ec3cb64de8d74 Reviewed-on: http://gerrit.openafs.org/3836 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit af2897097cd76940b0bfdde49a85b6fb6b7e2436 Author: Andrew Deason Date: Mon Jan 17 12:35:46 2011 -0600 vol: Windows requires binary fmode for salvaged Same as 98f633c60d20834cee0bbc0770a3146b06642a59, but for the salvageserver. Reviewed-on: http://gerrit.openafs.org/3676 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 802899aac022ab537159f3cd4435d072b5edc4be) Change-Id: I953a780f61ce377179829d4e42e9aab76b3a8f4d Reviewed-on: http://gerrit.openafs.org/3835 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5c6ec72bee407b81517266b1d5cef79c947a9429 Author: Jeffrey Altman Date: Sat Jan 15 11:49:54 2011 -0500 vol: use OS_UNLINK() instead of unlink() OS_UNLINK provides the platform specific mechanism for unlinking objects. Reviewed-on: http://gerrit.openafs.org/3670 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 038264b4d62803bd71ac0d7706b56b7f18f31dca) Change-Id: I58a6acbe7328faa1d0118073f24321ead378efe4 Reviewed-on: http://gerrit.openafs.org/3834 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e08f9d85fb4f50f6f87a500be0c7ea9b5da585e3 Author: Jeffrey Altman Date: Sat Jan 15 11:54:40 2011 -0500 vol: construct proper VolDir path on Windows namei_HandleToInodeDir initializes the path name with the nt_drive value. Therefore calling addtoname(name, name->n_drive) produces the invalid path "D:\D:\\Vol_.....". Remove the unnecessary addtoname() call. Reviewed-on: http://gerrit.openafs.org/3672 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit a65ea91e2a6ab3870fe2e9e1a17c82e2a62c2910) Change-Id: Icd7c6225b80d77184e6a15df0dbb4fd0dfcd0506 Reviewed-on: http://gerrit.openafs.org/3833 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bccbd2b25b189cbc86d43fa1b072ab317aafeeb9 Author: Jeffrey Altman Date: Sat Jan 15 11:52:45 2011 -0500 vol: fdHandleAllocateChunk should init all fields fdHandleAllocateChunk() failed to initialize the fd_ihnext and fd_ihprev fields. Reviewed-on: http://gerrit.openafs.org/3671 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit bae39a9aa3738878708f4c67d17750beca4d6dca) Change-Id: I9fa401cb4ddec886a3f39ddfb926ce0be8cfa96e Reviewed-on: http://gerrit.openafs.org/3832 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 23f73b3635eff9ea28d59c755ca88589ed95edda Author: Jeffrey Altman Date: Sat Jan 15 11:47:47 2011 -0500 vol: use OS_DIRSEP when constructing paths Do not assume that / is the directory separator when constructing paths for internal consumption or log messages. Use OS_DIRSEP or OS_DIRSEPC as appropriate. (cherry picked from commit 47e2149335066883450cb2a751bd057dcd1af79d) Reviewed-on: http://gerrit.openafs.org/3669 Reviewed-by: Derrick Brashear Tested-by: BuildBot Change-Id: Ic6fbe73ec112994079816942b3456fe95c193200 Reviewed-on: http://gerrit.openafs.org/3831 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0ab61bd20868a603279d7df6da00ed072e59e370 Author: Tom Keiser Date: Thu Oct 14 01:24:03 2010 -0400 vol: make namei_ListAFSSubDirs deal with multiple/bad linktables The salvager ends up deadlocking when multiple linktables exist in the same volume group special directory. The issue is that we open and flock all discovered linktables, but only close out the last one found. Consequently, when our child scans the linktables again, we deadlock against the locked and leaked descriptor(s) our parent left around before forking. While we have so far been unable to root-cause the actual creation of spurious linktables, this patch will at least stop the salvager from deadlocking against itself when this occurs. Reviewed-on: http://gerrit.openafs.org/2979 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 19d2e0e34b5f100fdbec1da8373badd624c02248) Change-Id: Ifd81e41258b1974b4b6e0df893fa37387bc48757 Reviewed-on: http://gerrit.openafs.org/3889 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e1356ef5a23008af5b46e1f89a7360c0f026e42d Author: Jeffrey Altman Date: Sat Jan 15 11:44:08 2011 -0500 volser: use OS_CLOSE() instead of close() Use OS_CLOSE() instead of close() when closing vol package allocated file descriptors. On Windows, close() != nt_close(). Reviewed-on: http://gerrit.openafs.org/3668 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit ecf55b063e7c9bbbac426831dfe504c1db92bb52) Change-Id: I40114c0cf071a18612bb1ed29d18ab145f466dec Reviewed-on: http://gerrit.openafs.org/3830 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 914e70a60309104c81daadc4e12ec294c2b22197 Author: Jeffrey Altman Date: Sat Jan 15 11:39:39 2011 -0500 vol: initialize FdHandle_t stack objects In namei_create() a temporary FdHandle_t is allocated on the stack but was never initialized. Depending on what prior data was on the stack the FdHandle_t could result in subsequent operations failing in unpredictable ways. Reviewed-on: http://gerrit.openafs.org/3667 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 05d5f012e0be9be1c2c82871a75ac76d437b9688) Change-Id: I44913419e09b36a3581320cd169bbc4774cd0208 Reviewed-on: http://gerrit.openafs.org/3829 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 64b3fa0f5a02c8fd394138ffefefdcc86d9e55d2 Author: Jeffrey Altman Date: Sat Jan 15 11:07:19 2011 -0500 vol: Fix ntops to provide expected semantics nt_open() can be asked to open a file with a path containing directory components that do not yet exist. Modify nt_open() to automatically create directories if necessary. nt_read() and nt_pread() should not treat partial reads due to reaching EOF as an error. Instead, return the bytes read. Reviewed-on: http://gerrit.openafs.org/3666 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 714b3ffb2258b316621415c2e81372dc48b4119d) Change-Id: I4a4c8a4894aa25bec883154cb73d1ee24986ba15 Reviewed-on: http://gerrit.openafs.org/3828 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9e7a77991419c96e8594944ae75f06b84e1f7da3 Author: Derrick Brashear Date: Thu Oct 28 01:03:49 2010 -0400 merge ntops and namei instead of having 2 implementations of nearly the same thing, merge what we can. this can get closer, probably, but this is a start. (cherry picked from commit a8d1fe61f4a0d906d4086b71c88b0a3ab278b12c) Reviewed-on: http://gerrit.openafs.org/3180 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: Ieaf8b87862a692559971b2a54882a485590a715d Reviewed-on: http://gerrit.openafs.org/3827 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 6d0b9da6f0734e638087cfe6092df1a7b80c5bc9 Author: Andrew Deason Date: Thu Mar 11 12:19:47 2010 -0600 Parallel I/O extensions to namei backend This adds the ability for certain namei operations (currently only ListViceInodes) to occur across multiple different threads in parallel. Currently this is only enabled when built with the not-yet-existant AFS_SALSRV_ENV. Originally written by Tom Keiser. (cherry picked from commit 0a4a03ae68bea51a74a4ef496d50a800bd3e0cbd) Reviewed-on: http://gerrit.openafs.org/1864 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I2fa3aa60a13c81e0a0bc7ffb5b323ec7580f560f Reviewed-on: http://gerrit.openafs.org/3826 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0b7c5f7b560e5dd116e6da99d19ec1a0dc969fe6 Author: Michael Meffie Date: Mon Mar 15 12:42:23 2010 -0500 ihandle positional read and write When available, use POSIX positional read and write calls in the ihandle package. Originally written by Derrick Brashear and Andrew Deason. (cherry picked from commit 335ccb4082657b7d0e4e9af1076356cf115642d2) Reviewed-on: http://gerrit.openafs.org/1562 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I6616a8f7ba04410c57097fb6fa687258b847ac4e Reviewed-on: http://gerrit.openafs.org/3884 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3b0dbf3c86b98a66e1723b65da0a2761eeede651 Author: Rod Widdowson Date: Thu Oct 28 00:20:30 2010 +0200 windows: native versions of ih_pread and ih_pwrite Separate the windows code out in ihandle.c to reduce dependency on ntops. As an aid to future threading issues, pass the offset in an OVERLAP rather than doing a separate SetFilePointerEx. Reviewed-on: http://gerrit.openafs.org/3176 Reviewed-by: Derrick Brashear Reviewed-by: Andrew Deason Tested-by: Derrick Brashear (cherry picked from commit 50b6a116a1c412d0e6d7442d13d6e92c9dbb35ee) Change-Id: Iaa340515bf36d249d4f2160b55c3fbb267bb90ee Reviewed-on: http://gerrit.openafs.org/3825 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 44a4189514266a097c6efdb6b9e0067c96ea4424 Author: Jeffrey Altman Date: Sat Jan 15 11:04:48 2011 -0500 vol: Windows requires binary fmode for salvager In order for salvager to work properly it must read and write data in binary mode. On Windows, this is accomplished by calling _set_fmode(_O_BINARY) to set the default mode for fopen(), etc. Reviewed-on: http://gerrit.openafs.org/3665 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 98f633c60d20834cee0bbc0770a3146b06642a59) Change-Id: Ibfdbcb9e2da6216f31f7a73d42acafa59b651350 Reviewed-on: http://gerrit.openafs.org/3824 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 432b50226075b1748448e104a9b6fd90cf33a542 Author: Jeffrey Altman Date: Sat Jan 15 11:01:55 2011 -0500 vol: fix OS_LOCKFILE/OS_UNLOCKFILE for Windows On UNIX the OS_LOCKFILE and OS_UNLOCKFILE macros return zero on success. Since Windows LockFile() and UnlockFile() return non-zero (TRUE) on success, negate the return value as part of the macro definition. (cherry picked from commit e8e69d5b2c611df249fd613ed068fc030a0e30d1) Reviewed-on: http://gerrit.openafs.org/3664 Reviewed-by: Derrick Brashear Tested-by: BuildBot Change-Id: Ifc9f7efcafee5a17fcf112556184be0072deb108 Reviewed-on: http://gerrit.openafs.org/3823 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b9707d7fcd921730b5242ab59cebcdff929011c2 Author: Jeffrey Altman Date: Fri Jan 14 00:15:10 2011 -0500 Windows: fixup gettmpdir() Use InterlockedCompareExchangePointer for hostparse() instead of fudging it and leaking memory. If the max path length is MAX_PATH must allocate MAX_PATH+1. Reviewed-on: http://gerrit.openafs.org/3658 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit a61a719d35cd6008f35c4f5cb8aaa83453d1d8c1) Change-Id: I2183cd52298ea1d1204102fee66dea4755de3b41 Reviewed-on: http://gerrit.openafs.org/3820 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 451706f5cb2a616ae2ffd2a2e120cbbdb2351fe8 Author: Jeffrey Altman Date: Fri Jan 14 00:13:49 2011 -0500 Windows: osilog param size is size_t The parameter size is size_t which permits pointers to be stored on 32-bit and 64-bit systems. Make sure we store it as size_t instead of truncating to long. Reviewed-on: http://gerrit.openafs.org/3657 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit e50cab06c4a5dad37b27f411dfd511130567726d) Change-Id: Ifff3cc8d9424c74d39a792f83b838965af95faea Reviewed-on: http://gerrit.openafs.org/3819 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit d51daf617f0f5cdd5f8c225bfafc74fc19b7d3b6 Author: Stephan Wiesand Date: Sat Jan 8 17:13:27 2011 +0100 rpm: don't package files twice The LICENSE and two manpages were included in the main package as well as one of the others. Remove duplicate entries. Reviewed-on: http://gerrit.openafs.org/3628 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 8d157961e96ec6b504ea40dcef51fb4a8d61d371) Change-Id: I4120181c4384aa0f3f6f4c016c594d45cf037921 Reviewed-on: http://gerrit.openafs.org/3818 Reviewed-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 83c6b5f79f9dc73c7e17797a544275d273e833db Author: Andrew Deason Date: Fri Jan 7 20:48:18 2011 -0500 git-version: Do not specify --ignore-submodules Only new git versions reognize the --ignore-submodules option to diff-index and diff-files. Do not pass this, to make git-version more likely to work across different versions, as we don't have any submodules in the tree anyway. Reviewed-on: http://gerrit.openafs.org/3627 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 60322b46755d0bfedc239e3e9287f6ae625cd836) Change-Id: Iae527081b431863fa1eae418b8468741f75f3f2e Reviewed-on: http://gerrit.openafs.org/3817 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit fd022f97b7341a40efd8e3db5f3091d3a3e77b31 Author: Jeffrey Altman Date: Sat Jan 8 12:21:23 2011 -0500 Windows: refactor buf_Get() to improve readability Refactor buf_Get() by using a switch() instead of a jumble of if() conditionals. Improve comments to make it clear that given the current use and implementation of cm_BufRead() from cm_dcache.c that created buffer pages will never be populated with actual data. Reviewed-on: http://gerrit.openafs.org/3630 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 9f584e811486da7129a61da554fae09029b0de67) Change-Id: I32ff33df359fb7794e9cf47c2027eb48363c80eb Reviewed-on: http://gerrit.openafs.org/3816 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit bd78d2a45c779115711fb5e6ef94e05cf176d932 Author: Jeffrey Altman Date: Sat Jan 8 12:19:07 2011 -0500 Windows: remove all refs to unused buf_GetNew() Reviewed-on: http://gerrit.openafs.org/3629 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f58b17a6150f8d303b408f9eed27bf0e850ec580) Change-Id: Ideb8532a8de53152aa902834d7dd012a464ad000 Reviewed-on: http://gerrit.openafs.org/3815 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b9868976247f698ac9482a553c4f321bb009c299 Author: Jeffrey Altman Date: Tue Jan 4 11:18:25 2011 -0500 Windows: remove unused vars from cm_server.c Reviewed-on: http://gerrit.openafs.org/3617 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 9bb6b06c76802f8080c4c19b99efa7c6423f9021) Change-Id: Ie0afcd7a98520b06830ef919377630a7e9526036 Reviewed-on: http://gerrit.openafs.org/3814 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 25231ef066e88ed2f84745de31771e53b1c6f120 Author: Jeffrey Altman Date: Mon Jan 3 21:07:10 2011 -0500 Windows: permit clean when switching platforms When switching between i386 and amd64 in the same build tree the "clean" make directive would fail due to NTLang.bat not having been built in the new platform's destination directory. Force NTLang.bat to be built as a dependency of cleanup and delete it at the end along with the version files. Reviewed-on: http://gerrit.openafs.org/3615 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 605b7c3baaeb7553cb2e150f1156eba6be04c1f8) Change-Id: Ia215c34f06976dee588292fccb7396a49ab98035 Reviewed-on: http://gerrit.openafs.org/3813 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c6893df719c724abc42a49419a9bd9651b1ede2a Author: Simon Wilkinson Date: Sun Feb 14 10:01:14 2010 +0000 Add "brief" option to rxgen Add a new -b option to rxgen that turns on "brief" output. This makes a number of changes to the data definitions produced by rxgen so they can be more easily used by the calling code. The changes are: *) Use the new struct rx_opaque structure for all opaque data definitions, rather than defining each as a unique structure. This permits moving opaque data between rxgen structures to be performed by simple assignment. *) Use anonymous structures for internal definitions. Currently rxgen also uses the field name as the structure name, which prevents the use of a field name more than once within a source file. *) Don't embed the structure name within the names of the elements within the structure. This significantly reduces the length of assignment code, and makes for more readable callers. Reviewed-on: http://gerrit.openafs.org/2585 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 13ae3de3f6ce5de2395823ee5f862a863caf2e51) Change-Id: I03adce371f17c8865b469b9b5cb94209395261c2 Reviewed-on: http://gerrit.openafs.org/3812 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 02a52022fe1f2d08ce62b053d2ce48b041487352 Author: Vincent Archer Date: Thu Dec 30 11:34:28 2010 -0500 Windows: MIT license applies to parsemode() Vincent Archer grants permission to OpenAFS to re-license his MINIX contributions under the MIT license. A copy of the e-mail granting permission is located in OpenAFS RT issue 128805. FIXES 128805 Reviewed-on: http://gerrit.openafs.org/3605 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 616763cd077fab807da21590bd9ad3b0b02ea844) Change-Id: I4ccd8e976185b98536e061a20be43805db619a4a Reviewed-on: http://gerrit.openafs.org/3811 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 63503dfda678e08fd76f5c3e5561449d663933e0 Author: Jeffrey Altman Date: Wed Dec 29 11:35:17 2010 -0500 Windows: buf_CleanAsync scp->fid == bp->fid If buf_CleanAsync or buf_CleanAsyncLocked are called with a non-NULL cm_scache_t parameter, that status object's fid must be the same as the associated cm_buf_t object. If not, the wrong locks will be held. If the cm_scache_t parameter is NULL and cm_FindSCache() returns NULL, it means that the cm_scache_t object associated with the bp->fid has been flushed from the cache. cm_GetSCache() must therefore be called to allocate a new status object for the FID. If the status object cannot be allocated, then any dirty data stored in the buffer will be discarded. Reviewed-on: http://gerrit.openafs.org/3604 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit b6576d8cb554af50dfe7b6d9b668bd35ff202a83) Change-Id: I41b190d15bff93be656c6f844a740cce9812ae04 Reviewed-on: http://gerrit.openafs.org/3810 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3cafe5836603f4fb93b05b994767487da04fb722 Author: Jeffrey Altman Date: Tue Dec 28 14:39:47 2010 -0500 Windows: fs checkserver skip multi-homed up server Multi-homed file servers can be detected by comparing the uuid for the cm_server_t entries. If a server has at least one up interface, do not list it as being down in the "fs checkserver" response list. Reviewed-on: http://gerrit.openafs.org/3603 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 4e3207335771b78ff27a1f1c0755cdfcf78d7f30) Change-Id: Idc6ae445bc9fad467dede51d5885646bb610c0ef Reviewed-on: http://gerrit.openafs.org/3809 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b18a15a17f71fcbd92001d1af2a81f3337100afc Author: Jeffrey Altman Date: Wed Dec 22 23:23:48 2010 -0500 Windows: fs checkservers should list vldb as well The Windows fs checkservers has only listed offline file servers. Include vldb as well to match the Unix cache manager. Reviewed-on: http://gerrit.openafs.org/3602 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit e4b59c633962d7784485f8e2d4185edaf91bf23d) Change-Id: Ic8053f7307ee937add5e0d5b9e35c03cf8ccb302 Reviewed-on: http://gerrit.openafs.org/3808 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a3a7fb4fd617aaa1bd372bc2929caa9d01987cc6 Author: Jeffrey Altman Date: Mon Dec 27 19:34:14 2010 -0500 vos: do not mix memory allocation methods ListVLDB mixed memory allocated with xdr_alloc() and memory allocated with malloc(). This is not safe to do since it is possible on some platforms for xdr_alloc() to allocated memory using a method other than the malloc() linked to the vos executable. Instead of stealing the xdr_alloc()'d buffer, allocate a new buffer and copy the contents. Reviewed-on: http://gerrit.openafs.org/3600 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 463b045b9fe4a412877c2a65f5deafb1442c1bf1) Change-Id: I64f43459a212ceb1b4f89e45a9827fc7b981ff6e Reviewed-on: http://gerrit.openafs.org/3807 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 715a025c12ab06c3397ee10d72eee55eecc9fcbe Author: Jeffrey Altman Date: Fri Dec 24 13:36:51 2010 -0500 Windows: separate parsemode from fs into own file Separate parsemode() from fs.c into parsemode.c. Restructure the function prototypes and the fs.h header to permit building fs.exe from multiple source files. Reviewed-on: http://gerrit.openafs.org/3591 Reviewed-by: Russ Allbery Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 683747b9c4b3d9d77fb8c68df09a59807d027a42) Change-Id: I3ed5f647631bdd6983a53f4e6a2193aaddf37e0f Reviewed-on: http://gerrit.openafs.org/3805 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c4afe2d7cfb54fc39e6419a166cd2fdf051c18bf Author: Jeffrey Altman Date: Sat Dec 18 18:39:07 2010 -0500 Windows: fs chmod and display mode in fs examine Make use of the new pioctl VIOC_GETUNIXMODE and VIOC_SETUNIXMODE operations to display the current mode in fs examine and permit setting the mode with "fs chmod". The mode string parsing makes use of Vincent Archer's code from Minix. The required copyright statement and license is attached to parsemode(). afsconfig-windows.h gains definitions for various mode symbols that are not defined by Visual Studio runtime headers. (cherry picked from commit afef1712f28a1c83cfb732d1c4fde7faec4811fc) Reviewed-on: http://gerrit.openafs.org/3546 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Change-Id: Iaaa70fbef86524df82bc04754276836fff643357 Reviewed-on: http://gerrit.openafs.org/3804 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0ff1c2a48273e7626365f07dc91056fcba2e7b46 Author: Andrew Deason Date: Mon Jan 31 11:18:39 2011 -0600 afsd: Do not check for /afs if -nomount If -nomount was passed, we don't try to mount /afs. So, there is no reason to require its existence. Reviewed-on: http://gerrit.openafs.org/3822 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c15468e2605446fa89e351131ba429a360d823f8) Change-Id: I58f4a600fe976703412b76d7aeba1e316e08d05b Reviewed-on: http://gerrit.openafs.org/3877 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 1711d5ecd1f57e618ebe1dfecaf0cda966228916 Author: Jeffrey Altman Date: Mon Dec 20 09:59:43 2010 -0500 Windows: clear mountPointStringp on status change If the data version of the cm_scache_t changes, we must clear the mountPointString. Otherwise, if the object is a mountpoint or symlink, cm_HandleLink() will not attempt to build the new target string. The Windows CM never updates the contents of a mountpoint or symlink. It always destroys the old and creates a new one. However, the Unix CM simply updates the link data. Apparently, the Windows clients have never noticed. Reviewed-on: http://gerrit.openafs.org/3552 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit bb4c0234b2fa5ae91097b6c40cbfda6ed7484eb0) Change-Id: Icabba0b9bb6a1484d3ee3bc21dc6a39343e5491c Reviewed-on: http://gerrit.openafs.org/3803 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 9a4a911f143d3ad295141342d085b65e928e4abc Author: Jeffrey Altman Date: Sat Dec 18 18:36:18 2010 -0500 Windows: Add VIOC_GETUNIXMODE and VIOC_SETUNIXMODE Add pioctls to get and set the UNIX mode bits for an object in AFS. Reviewed-on: http://gerrit.openafs.org/3545 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 27469e59b134efef6c908a1bfa8162d4bf9b8275) Change-Id: Id80cb41732a6daffa2f03a4313ef3cb9f94b87ea Reviewed-on: http://gerrit.openafs.org/3802 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7fa6a762a960d7b803a37cc0e9ce00e46869329e Author: Jeffrey Altman Date: Sat Dec 11 23:28:02 2010 -0500 Windows: log error code for smb lan thread fail When creation of the smb_LanAdapterChangeThread fails log the error code as part of the panic message. Reviewed-on: http://gerrit.openafs.org/3502 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f8400699a881eb4f675cba1fbcd7f7ac6eecd355) Change-Id: Ibeb735922101dd89c998746f06f9c56354533506 Reviewed-on: http://gerrit.openafs.org/3801 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b8fc8d9ae5213377543a3b92671aeb44326426a4 Author: Jeffrey Altman Date: Sat Dec 11 06:19:54 2010 -0600 Windows: PerformanceTuningInterval Merge error Due to a merge error, if RankServerInterval was set via the registry, its value would also be used for the PerformanceTuningInterval. Fix it. Reviewed-on: http://gerrit.openafs.org/3500 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 6229ffb7ae365174ccacabe00d1e986d2f9b2019) Change-Id: I7ed0ffbffc88c25e6b586d927c8422711d2bd7b8 Reviewed-on: http://gerrit.openafs.org/3800 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b5f0df472f9a39492de2cfb3855362a89ad4603b Author: Andrew Deason Date: Wed Dec 8 14:57:13 2010 -0600 DAFS: Avoid logging harmless LEAVE_OFF failures The DAFS volserver can create temporary destroyMe volumes, which it then tells the fileserver to keep offline with an FSYNC_VOL_LEAVE_OFF message. When the fileserver doesn't know that the volume exists, currently it responds with SYNC_DENIED, which causes the volserver to log the error with a "negative response on circuit FSSYNC" message. These are harmless, though, since leaving a volume offline that the fileserver does not know about is a no-op. So return the SYNC_FAILED code instead, which does not get logged, and is more consistent with some other FSYNC handlers like FSYNC_VOL_DONE. Reviewed-on: http://gerrit.openafs.org/3494 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f88c91f7778b9a8bf920dce08ccab76ac0b1b433) Change-Id: Ib3956cf1035b8d9dbcc985877304837a52f9d760 Reviewed-on: http://gerrit.openafs.org/3799 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5d400f224c843d854eebbe7b76bd83a570c5c6ff Author: Andrew Deason Date: Wed Dec 8 12:41:44 2010 -0600 DAFS: Fix VOL_QUERY_VOP error codes Volumes in the VOL_STATE_DELETED state effectively do not exist. So, when receiving an FSYNC_VOL_QUERY_VOP request for a volume, report FSYNC_UNKNOWN_VOLID for a volume in the VOL_STATE_DELETED state. Similarly, if the volume exists but on a different partition, we should return the FSYNC_WRONG_PART reason code. This allows volumes to be usable by the volume server in some corner cases. For example, when a volume X exists on partitions A and B, and the volserver deletes X on B. The fileserver then puts volume X in the DELETED state, allowing checkouts over fsync, but FSYNC_VOL_QUERY_VOP reports that no vop exists. With this change, FSYNC_VOL_QUERY_VOP will instead report that the volume does not exist, and so FSYNC_VerifyCheckout can succeed for such volumes. Reviewed-on: http://gerrit.openafs.org/3493 Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 95fc9ece507d3c5bd7914afadaaae9456eea9b7a) Change-Id: I37e2740af4ad257398325007a1d1e1e4ba3bae45 Reviewed-on: http://gerrit.openafs.org/3798 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit bde0c76e2d17b9da517f9df783a661cf3da70625 Author: Andrew Deason Date: Wed Dec 8 11:40:24 2010 -0600 Fix AUD_HOST callers Servers using the AUD_HOST audit message should give the host IP in network-byte order, as that is how the auditing code interprets it. Fix the users of AUD_HOST that do not do so. Reviewed-on: http://gerrit.openafs.org/3492 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b20329e01968d3562f78382b27f7de9948a96899) Change-Id: I5d8b8059101b147583f006bcdd4abd301721be62 Reviewed-on: http://gerrit.openafs.org/3797 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7d4b46224a82b221874a882318ec8d600ce193db Author: Andrew Deason Date: Tue Dec 7 13:49:47 2010 -0600 tvolser: Link libafsrpc after libusd libusd can contain a reference to AssertionFailed, which is in libafsrpc. So link libafsrpc after libusd, so it gets resolved when building e.g. vos. Reviewed-on: http://gerrit.openafs.org/3477 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ddc4057ce786ebbe75b8b2c971b1013187062f1f) Change-Id: I1a4325364e650fb82600e0c2c6ec64fd42912b23 Reviewed-on: http://gerrit.openafs.org/3796 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9c04c49439076fd20ea3274bd2d8e753482c3206 Author: Derrick Brashear Date: Tue Dec 7 21:08:51 2010 -0500 DAFS: make FSYNC_VOL_QUERY_VOP DAFS-only all the support code handles this only for DAFS. the case statement should treat as unknown if it is. Reviewed-on: http://gerrit.openafs.org/3485 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7b7cd95ec0adc2c58b0387a5ff788251127f504e) Change-Id: I74bf87d251663404e830f30fcbf47275b1aa468a Reviewed-on: http://gerrit.openafs.org/3795 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 19de9fbd5215f7879afeb3c95204adf5327e50a0 Author: Derrick Brashear Date: Tue Dec 7 20:43:55 2010 -0500 DAFS: fix ifdef there's no DEMAND_ATTACH_ENV ifdef. don't use it. Reviewed-on: http://gerrit.openafs.org/3484 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit fea0ee62ab854148a354c1aa9ebc5f042448210e) Change-Id: Ib032930c53b8025e82819e0f82e994b5bdf6c5ba Reviewed-on: http://gerrit.openafs.org/3794 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit dd2e11ef9e20031821505fb609628cff7d0f6449 Author: Jeffrey Altman Date: Tue Dec 7 00:02:33 2010 -0500 Windows: test for path in afs before symlink test Check that the path is in afs before testing to see if it is a symlink Reviewed-on: http://gerrit.openafs.org/3467 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f71219918e604a2909774e360cbfea9f9e3d9dcc) Change-Id: I34191b8b67277f5cc8421323a1293c8ebd60c213 Reviewed-on: http://gerrit.openafs.org/3793 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit bc0c13a84ba37958c0146903b9449dc426805465 Author: Andrew Deason Date: Mon Dec 6 16:11:24 2010 -0600 vol_split: Recover from stream open failure Make sure we go through the error recovery code when we can't create a stream, instead of just returning without cleaning up. Reviewed-on: http://gerrit.openafs.org/3466 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 94591a635bdd23ba74298c64273d4688405aa370) Change-Id: Iff1053a2ed1789f2a5047a59b8df4fad94e9062c Reviewed-on: http://gerrit.openafs.org/3792 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit e052fe1a30aa09940a86b5b78d420d90c3b5dc50 Author: Stefan Kueng Date: Sun Dec 5 18:48:56 2010 +0100 Windows: fix checked UNICODE build of talocale src/WINNT/talocale failed to build/link for checked builds. Fix it. Reviewed-on: http://gerrit.openafs.org/3446 Tested-by: Stefan Kueng Reviewed-by: Stefan Kueng Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit a433f750ad7f0a3c0adbf4c5d6221b7517c0eedb) Change-Id: Ie7e2e7778efd0c6d9724f1eb65adf8942141a47e Reviewed-on: http://gerrit.openafs.org/3791 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c53868fe2819c76249ccbae2a6f38ec546a33174 Author: Jeffrey Altman Date: Sat Dec 4 18:03:21 2010 -0500 Windows: Build afs_shl_ext.dll with talocaleU.lib Use the Unicode version of talocale to properly read resource strings. Reviewed-on: http://gerrit.openafs.org/3442 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 6fe9313180dfe1d509ae97a1e16a67195357cf7b) Change-Id: I38b4b45e6868283a7f59071f6326389dd569ea2d Reviewed-on: http://gerrit.openafs.org/3790 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 85cafd2f6ab11c2b16fafd2f668eb5d317d0d4ac Author: Jeffrey Altman Date: Sat Dec 4 18:02:38 2010 -0500 Windows: install afs_shl_ext icon files mount.ico and link.ico to dest\root.client\usr\vice\etc Reviewed-on: http://gerrit.openafs.org/3441 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 3756fc78af48c5543c267b086fbd4872fea2e33c) Change-Id: I3ab7f121a937769e899dc8d7c604fc23f07ada1e Reviewed-on: http://gerrit.openafs.org/3789 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 801ebb8a2d76f0bba5ac8b8476cabd24b80522b9 Author: Jeffrey Altman Date: Sat Dec 4 17:59:36 2010 -0500 Windows: build a UNICODE version of talocale.lib Add src/WINNT/talocale_unicode that builds a UNICODE version of talocale, talocaleU.lib Reviewed-on: http://gerrit.openafs.org/3440 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 1d7534fb95a8fb77d6b0f3fe0816094b36bde850) Change-Id: Ie298784afdbc4329b97fecea73135b4fd173a866 Reviewed-on: http://gerrit.openafs.org/3788 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b9145aa49e9b9462ea5bcd2140a9ede0a74b0921 Author: Jeffrey Altman Date: Sat Dec 4 17:56:44 2010 -0500 Windows: fix UNICODE build for talocale src/WINNT/talocale has not been built for UNICODE in a long time. Fix it. Reviewed-on: http://gerrit.openafs.org/3439 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 24a9ba4b829a871defea75ddf17fb621035ca008) Change-Id: I2f77de3255b229bfa00437af59d11c0da5646458 Reviewed-on: http://gerrit.openafs.org/3787 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5f02e76f11922bf010e24f004c9d628f8402ad03 Author: Stefan Kueng Date: Sat Dec 4 10:56:01 2010 +0100 Windows: afs_shl_ext improve overlay handlers Add link.ico and mount.ico Windows icon files. Use these images as overlays instead of extracting an image from shell32.dll which is a bad idea. See http://blogs.msdn.com/b/oldnewthing/archive/2005/10/26/485133.aspx Reviewed-on: http://gerrit.openafs.org/3445 Tested-by: BuildBot Tested-by: Stefan Kueng Reviewed-by: Stefan Kueng Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 3ff9c24c0e2d72dcce65fc7706dcdb1cd3090965) Change-Id: Ifa20508a1b30ebd88e4968d76d325c2e2be51039 Reviewed-on: http://gerrit.openafs.org/3786 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7f2e16f7788674619e4a75f59ce785c51771c0cc Author: Stefan Kueng Date: Fri Dec 3 22:58:54 2010 +0100 Windows: afs_shl_ext Show icon mount point overlay Reviewed-on: http://gerrit.openafs.org/3444 Tested-by: BuildBot Tested-by: Stefan Kueng Reviewed-by: Stefan Kueng Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 92183f4ac31f20862a992b8b3d52dcbe0ebb7eb9) Change-Id: I966cc9bbb03a5682f3227238c635fb5634502c8c Reviewed-on: http://gerrit.openafs.org/3785 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 2a626ae9ec92f0c508fd1eb7ea399c91d4dc7832 Author: Derrick Brashear Date: Mon Jan 31 15:07:45 2011 -0500 evalmountdata: put back colon in .:mount syntax only if we removed it we looked for a set character (not NULL) at cpos before, instead of looking for a non-NULL pointer. fix it. Reviewed-on: http://gerrit.openafs.org/3874 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit d12d2c08eef5b2bffccefac61465b7d4e40bba9f) Change-Id: I6920aa378361c1c78285b595303f32ed3194462b Reviewed-on: http://gerrit.openafs.org/3875 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6ed9c64c8d3127a30f9651445d82703eada23943 Author: Stefan Kueng Date: Fri Dec 3 21:24:33 2010 +0100 Windows: afs_shl_ext folder bkgrnd context menu Make the context menu handler also work for folder backgrounds and on Win7 for library folder backgrounds For folder backgrounds, the shell passes the PIDL of the folder instead of a data object. Extract the path from that PIDL. Also extended the register function of the dll to add the required registry keys. Reviewed-on: http://gerrit.openafs.org/3443 Tested-by: BuildBot Tested-by: Stefan Kueng Reviewed-by: Stefan Kueng Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f8f8c0a48fbe086870a0cf35a62278c2b4ab743b) Change-Id: If19cafed9d19ce5f6a529c64fe48a03c13cb0e03 Reviewed-on: http://gerrit.openafs.org/3784 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9e8db134b4bf80f2599b62c6cc3133411d4a9182 Author: Jeffrey Altman Date: Wed Dec 1 18:47:29 2010 -0500 Windows: Remove fallback from GetCaps to GetTime If the file server responds to RXAFS_GetCapabilities with RXGEN_OPCODE the server is up and there is no need to fallback to RXAFS_GetTime. Remove the code that performs the extra work. Reviewed-on: http://gerrit.openafs.org/3419 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 166de9ffa29244f38f1d2c1e8b0fa9a9fd1802b5) Change-Id: I2d7424e891d728b4b0589989c8a58f15594db412 Reviewed-on: http://gerrit.openafs.org/3783 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c93d28abf492cc04274ad9501fb60f0351d6f264 Author: Christof Hanke Date: Sun Nov 28 13:01:12 2010 +0100 Unix afsd: Check for mountpoint /afs first Check for the existance of the mountpoint before trying to start. Reviewed-on: http://gerrit.openafs.org/3392 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit cc54175e43ce14c01f9c103541ffad795b17629c) Change-Id: Ic94f1701f5d1d0d080e5751093a685e89d892b1a Reviewed-on: http://gerrit.openafs.org/3782 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 44542a7c1197441c9aa4f3d1a923d239094261e5 Author: Andrew Deason Date: Thu Sep 9 09:41:40 2010 -0500 vos: Improve release recovery on timed-out trans When a portion of 'vos release' takes long enough that a transaction on one or more RO sites times out, it retries to release to those sites. However, it does not take into account the situation where the transaction on the original RO clone has also timed out, which it usually will have if we took a long time to get to the ForwardMulti stage for any reason. Add a check to see if the clone RO transaction has timed out, and if so, recreate the transaction on it. Check if the volume appears to have changed at all, and if it has, bail out. Reviewed-on: http://gerrit.openafs.org/2726 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit d8e382df39aa5a92950a1219002a85e5457d8a97) Change-Id: I19541800fa7d1ce1c5922b9338b4b8370151fd93 Reviewed-on: http://gerrit.openafs.org/3781 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 48938a5555d7ba7c11b8a77bcd9065c9c9a39c59 Author: Jeffrey Altman Date: Fri Nov 26 02:55:03 2010 -0500 Windows: NSIS installer requires the architecture for CL=1400 The NSIS installer at present is 32-bit only. Production releases of OpenAFS have always been performed using the CL=1310 compiler so it wasn't noticed that src/WINNT/install/NSIS/NTMakefile did not define the ARCH (architecture) for the purpose of identifying which redistributable runtime library installer should be integrated into the build. For the CL=1310 compiler there are not prebuilt installers for OpenAFS to integrate. Reviewed-on: http://gerrit.openafs.org/3388 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a2c31a754c2d75dcf6a674f365ad50fc40f595ec) Change-Id: I38a93f34f3cd8b71ad0f33ca700162d133b11b7a Reviewed-on: http://gerrit.openafs.org/3780 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ccbc727f3a89b4a23ff7797193166e50542750c2 Author: Jeffrey Altman Date: Fri Nov 26 02:51:16 2010 -0500 Windows: make use of AFSDEV_BIN and set the PATH ntbuild.bat defines AFSDEV_BIN which is set to the list of directories from which executables required for the build process will be executed. However, this value was never used to modify the PATH environment variable. Make it do so. Reviewed-on: http://gerrit.openafs.org/3387 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 5186e1686f1eaa1f5aaddfaa90da715aba045f67) Change-Id: I2a4de2258027b0a943d0f223c7493b8d33393777 Reviewed-on: http://gerrit.openafs.org/3779 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 2307aeadf717cf20f05b197007aad5da9ca996fb Author: Andrew Deason Date: Fri Jan 14 14:00:14 2011 -0600 merge-pod: Be more compatible with older perl merge-pod works fine with perl 5.00503, if we eliminate the 3-argument invocation of open(). So, replace the open() calls with their 2-argument equivalent, and relax the version requirement a bit. Reviewed-on: http://gerrit.openafs.org/3661 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 2045653647fc2de451c9615f18316416de7e1657) Change-Id: Ie3945eb37628ed3bd55f9cb53dd2f4d122f3b087 Reviewed-on: http://gerrit.openafs.org/3778 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit db9e4dc533f37670266cabdbe2b54aab7c738219 Author: Derrick Brashear Date: Tue Jan 25 13:32:38 2011 -0500 MacOS: fix SetFile call in growlagent makefile somehow this got corrupted earlier. fix it to use the right arg. Reviewed-on: http://gerrit.openafs.org/3755 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 14f5466eeea8cc088d64c6f270c05be457a01cfe) Change-Id: Iecf2c6a5c9a7df61cd2728eda3ee0a937e2f29f9 Reviewed-on: http://gerrit.openafs.org/3757 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6fda948715e83fd8dc6ab53550b99e3657353e4f Author: Toby Burress Date: Wed Jan 19 23:32:01 2011 -0500 FreeBSD: properly identify the rxk_Listener so that msleep() returns afs_osi_Wakeup() was not being called with the proper argument, causing afs_osi_Sleep() to fail forever while waiting for rxk_Listener to wake up. Change-Id: Ia2de70e1c3b9bcc25fbd6cb23c2d05eabb0a53a1 Reviewed-on: http://gerrit.openafs.org/3692 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry-picked from commit bc674908ca5100a0734069a019d9a31788dd52fb) Reviewed-on: http://gerrit.openafs.org/3754 Tested-by: Derrick Brashear commit a4e25471cdc2e3b9881e0159516e3fc68f8d6c09 Author: Antoine Verheijen Date: Wed Jan 19 16:06:03 2011 -0700 OpenBSD: Change code optimization setting Change the optimization level set when optimization is enabled during build from the sytem default of '-O' to '-O2' for OpenBSD systems. Change-Id: I30100b84c6665ba334899a49ababa8d938af97d1 Reviewed-on: http://gerrit.openafs.org/3689 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/3724 commit b94639888b2937764e8ee9eed085607961187549 Author: Antoine Verheijen Date: Wed Jan 19 13:13:09 2011 -0700 OpenBSD: Install no-NFS version of libafs The build process for OpenBSD builds the no-NFS version of the kernel module but, at install time, the NFS version is subseuquently built and installed while the no-NFS version is ignored. The NFS version does not load and is not needed in OpenBSD so this patch makes sure that the no-NFS version is installed and used. Reviewed-on: http://gerrit.openafs.org/3684 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 6d8e3392b77d72f6d05b94fa9c48813ceed5980d) Change-Id: I7f37c2da40f2ecada7255c1d60e8b14a1f7e6f81 Reviewed-on: http://gerrit.openafs.org/3723 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 25221d9665e101e49a070c4393853446f01085ca Author: Antoine Verheijen Date: Fri Dec 3 00:30:20 2010 -0700 OpenBSD: Remove duplicate assignment of COMMON_INCLUDE in libafs When building libafs, the make file variable COMMON_INCLUDE is assigned a value in two places: Makefile.common.in and MakefileProto.OBSD.in. The assignment in the latter place is both wrong and unnecessary. Remove it. Reviewed-on: http://gerrit.openafs.org/3430 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ba63d22bfb0b18ab054c39cafafeb8c6881fe687) Change-Id: I08d46d7e9c288e6b81f8c9cf3a16f6e48ac3462f Reviewed-on: http://gerrit.openafs.org/3722 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 9819f90850a454e9b799267b6f646f9a26723b9b Author: Antoine Verheijen Date: Wed Jan 19 13:43:21 2011 -0700 OpenBSD: Don't call non-existent routines in osi_vfsops.c The OpenBSD version of osi_vfsops.c makes calls to routines that do not exist in the system and aren't needed. In the past, these calls were wrappered by an #ifdef for AFS_DISCON_ENV which was never defined. That #ifdef is now gone so this patch removes the calls to these routines, which are remnants of the NBSD origins for this particular code. Reviewed-on: http://gerrit.openafs.org/3686 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 646a6a41698da45550a3cb899f104d9e3e548ea4) Change-Id: I8f57b0042e89dd917ee11e86709d9e6ae8ad7287 Reviewed-on: http://gerrit.openafs.org/3721 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 51a17746b6eeb2f69f1f8c3466815b5c241e56f2 Author: Antoine Verheijen Date: Fri Dec 3 00:26:24 2010 -0700 Move include of sys/types.h in kopenafs.c The netinet/in.h header file requires the inclusion of sys/types.h (or some portion thereof). Most systems include it implicitly within netinet/in.h. Some, such as OpenBSD, do not. In kopenafs.c, sys/types.h is included after netinet/in.h which is fine in most cases but means that, as a result, it will not compile on OpenBSD. Moving sys/types.h before netinet/in.h solves this problem (and should cause no problems on any other system). Reviewed-on: http://gerrit.openafs.org/3429 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b23163f05e55128cc0dc874396a765a400a77fd5) Change-Id: I22bad3e58896e25bae49d87dca0452e6595c7a2c Reviewed-on: http://gerrit.openafs.org/3720 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ed7b24c1bc8b26a5c8099105a0078c4eb7181c39 Author: Antoine Verheijen Date: Wed Jan 19 13:30:24 2011 -0700 OpenBSD: Fix parameters in call to afs_close() OpenBSD passes an extra parameter in a call to afs_close() in its OS-specific code. It went undetected in the past but now causes compile headaches because of more accurate prototypes in the header file. This patch removes the offending extra parameter (which never actually caused any problems because it was the last one in the parameter list). Reviewed-on: http://gerrit.openafs.org/3685 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 5ff6c88fcc0c35843e91dc45e4bd297efd0d4445) Change-Id: I7d2df5fe80bd4de8c74200ada879a7bc1358e134 Reviewed-on: http://gerrit.openafs.org/3719 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0678466715bde1148e7a3b553b0cec2f7d1c9c99 Author: Antoine Verheijen Date: Wed Jan 19 11:52:10 2011 -0700 OpenBSD: Fix use of macros for AFS_KALLOC/AFS_KFREE The macro definitions for AFS_KALLOC and AFS_KFREE used by afs_osi_alloc.c to perform OS-specific memory allocation are only defined by the OpenBSD osi_machdep.h header file if they already exist, which means: never. This patch fixes this situtation and makes sure that afs_osi_alloc.c actually uses them, eliminating a direct OS-specific call in afs_osi_alloc.c. Reviewed-on: http://gerrit.openafs.org/3682 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit d5367b5f1494ca2cf09f62d7f2ffa6304e38a648) Change-Id: I362f1b6ab808ff171cebc429eb74703c7151d026 Reviewed-on: http://gerrit.openafs.org/3718 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 7a6569e66156411dd100668fb6b3d79178045dde Author: Antoine Verheijen Date: Wed Jan 19 11:20:21 2011 -0700 OpenBSD: Remove macros definitions for afs_osi_Alloc et al. The afs_osi_Alloc, afs_osi_Free, etc. routines are now defined in afs_osi_alloc.c so the macro definitions defined by osi_machdep.h for OpenBSD are no longer needed and, in fact, interfere with the compile. Remove them. Reviewed-on: http://gerrit.openafs.org/3681 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 1c7420422313375f7132479c588f09eabac73c70) Change-Id: I9c5b77456472e26fc575165617d81ec6796f7c45 Reviewed-on: http://gerrit.openafs.org/3717 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0e47c6fea6bb75f6427ed3ae632b74d312850c9d Author: Antoine Verheijen Date: Wed Jan 19 14:14:47 2011 -0700 OpenBSD: No ruid/rgid in cred structure. OpenBSD does not retain ruid or rgid values in the afs_creds_t structure (ucred). This patch, therefore, removes any references to them in the afs.h file. Since no attempt is made to actually use the removed code (or macros) on OpenBSD, at least at this time, this does not result in any real functional change. Reviewed-on: http://gerrit.openafs.org/3687 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a5441776b639cd32c2271917dd55fa491f9e512f) Change-Id: I1a92ec8b1cb989217d114918cc590caa3f7b4455 Reviewed-on: http://gerrit.openafs.org/3716 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 6b0268c439181bb14fcd97fca47eb8ac993e4069 Author: Rainer Toebbicke Date: Tue Jan 18 14:56:17 2011 +0100 Re-enable rx connection hard timeout A missing "conn->" in rxi_CheckCall prevents checking hard connection timeouts. Reviewed-on: http://gerrit.openafs.org/3677 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 7c0d4b331e8d1f962aae5328490944182311a569) Change-Id: I514f9f434d72fdca37c088376d17bcf2cca40325 Reviewed-on: http://gerrit.openafs.org/3680 Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 0df3ed13ab2bf972fbc9162c5175cdb6255a7dc5 Author: Ben Kaduk Date: Thu Jan 13 20:16:44 2011 -0500 FBSD: remove vestiges of Giant We do not support versions of FreeBSD that used Giant to serialize access to vnode fields, and we always use the same locking (which really ought to be MPSAFE). Always set the MPSAFE flags as needed, and do not bother to call VFS_[UN]LOCK_GIANT which will never do anything for us. Reviewed-on: http://gerrit.openafs.org/3656 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 3c91f1d88165dca085a26b87f2c0148e84e179d2) Change-Id: I7709c886da933023a48ae368373e31f131539d42 Reviewed-on: http://gerrit.openafs.org/3679 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b7bd939f53dfa54d9c7c94b13691a13235aa7020 Author: Derrick Brashear Date: Wed Jan 12 16:45:57 2011 -0500 afsd: CellItems doesn't apply to memcache mode avoid a potential panic from passing a bogus path into the kernel for evaluation, in memcache mode. Reviewed-on: http://gerrit.openafs.org/3651 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 6edcb1830480ef55d9dcb8a3b4735c30d802cbe4) Change-Id: I570372cae294b8060fbd77ed58939129ad56dd5d Reviewed-on: http://gerrit.openafs.org/3678 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 782e0f3ae1f8453d54560e6dcc85537c5671edb0 Author: Andrew Deason Date: Wed Jan 12 10:29:46 2011 -0600 SOLARIS: Include sys/varargs.h for kernel stdarg When compiling for the kernel, pre-10 Solaris seems to want instead of , as documented in the Solaris man pages. So include instead of where we need variable arguments (afs_warn.c). Reviewed-on: http://gerrit.openafs.org/3653 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 6d03eef7217be8f0b72f34ab023e69c976dea84d) Change-Id: I473bcaa368c739265b911e79d596193f75ff8697 Reviewed-on: http://gerrit.openafs.org/3655 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8ebf94a929e396e027f7490d11a4ff22cfc2bba2 Author: Derrick Brashear Date: Wed Jan 12 16:55:09 2011 -0500 FBSD: we're 64 bit capable define AFS_64BIT_ENV as we can support 64 bit long long integers. Change-Id: If76168275333eca1b9505c5ead75b891550363ae Reviewed-on: http://gerrit.openafs.org/3654 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9ae3974714d6d26711cfe59ed7bf5559c43a472b Author: Ben Kaduk Date: Sun Dec 19 19:33:28 2010 -0500 FBSD7: Don't sleep with the glock On FreeBSD 7.X, vinvalbuf() can (will) sleep; this results in a panic when the kernel is configured with WITNESS and we hold the glock around it. Drop the glock in this case. Reviewed-on: http://gerrit.openafs.org/3551 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b1cb3607ff66b7fc6201fab2af57761156b1927f) Change-Id: I3b22c12a20b33ca0e4df5a66c2edfc4167000a1c Reviewed-on: http://gerrit.openafs.org/3650 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ae05c4f6d6c5675596b37d8f4b45eb5614bff705 Author: Ben Kaduk Date: Sat Dec 18 23:52:44 2010 -0500 Bring FBSD 7.X client back to life Having been untested for quite some time, we had several places that needed more conditionals to compile on FreeBSD 7. Now we compile and start on 7.3-RELEASE, but have locking issues under actual use. It seems that we are also incompatible with the Heimdal 0.6.3 in the base system -- aklog is unable to actually obtain the needed credential when compiled against that kerberos implementation; using MIT krb5 1.6.3 from ports works without incident. FIXES 128612 Reviewed-on: http://gerrit.openafs.org/3548 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 6040a4daa0b04085f18a8e232a1a99dc7cc36cf5) Change-Id: I148dbb0c5d8485d6f8fecae7a2d59e07a1a4d02b Reviewed-on: http://gerrit.openafs.org/3649 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5ae6fcdc87b452c391c3a1905ce96a8cf5d0d348 Author: Marc Dionne Date: Tue Nov 23 19:08:24 2010 -0500 Cache bypass: switch to rx_Readv Tests show that cache bypass doesn't scale very well past a few concurrent processes, with a lot of lock contention in the RX layer. Switching the implementation to the iovec based rx_Readv alleviates much of this. Also take advantage of the fact that the upper layer readpages only sends down contiguous lists of pages, and issue larger read requests and populate the pagecache pages from the iovecs we get back. The loop logic is changed significantly to accomodate the new pattern. Read throughput is improved by about 30-40% for some parallel read benchmarks I use. Along with some other tweaks, it can allow the throughput to be more than doubled. Reviewed-on: http://gerrit.openafs.org/3375 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 4a2d1973fc5c2aac05beef5d64e7a486757c54af) Change-Id: Ie8801404c370f64b0075169d63cf790c71bf2537 Reviewed-on: http://gerrit.openafs.org/3647 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 185653831c0ab953c52c8faf2a874f9782da136b Author: Marc Dionne Date: Tue Nov 23 18:39:33 2010 -0500 Cache bypass: Only compile bypass code for the Linux kernel Only compile the afs_bypasscache.c code if AFS_LINUX24_ENV is set, since it's currently the only case where the code is actually used. Only sections that caused problems for UKERNEL were previously ifdef'ed. Besides making the code cleaner, the main effect of this change is to prevent compiling most of the bypass code for UKERNEL where it isn't currently used. If support for bypass is added for other platforms eventually, the code here would need to be reworked anyway, ideally abstracting out and moving any OS specific bits into the platform subdirectories. Reviewed-on: http://gerrit.openafs.org/3374 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit 46a6d6129d80c4027d8a9f0e1d06b32cc12d6367) Change-Id: I042a30ac2a5e8156a233a0ff0f46aa5cd4fcd675 Reviewed-on: http://gerrit.openafs.org/3646 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 467266dd40e465cfc06d43af28e72500c39f3ef9 Author: Marc Dionne Date: Tue Nov 23 18:21:16 2010 -0500 Cache bypass: remove ifdefs under src/afs/LINUX Compile cache bypass code unconditionally under src/afs/LINUX since it is now always enabled. Also remove syslog messages about a "cache bypass patched module" when loading and unloading the module. Reviewed-on: http://gerrit.openafs.org/3373 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit 9657695d34badaac654227be8c731a1512f2106b) Change-Id: I57c44352f11ca7f68f6c3644345a7d48da8c1bf9 Reviewed-on: http://gerrit.openafs.org/3645 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 8cc17dde65f0ce42802fb29f07e9e98001764fec Author: Marc Dionne Date: Sun Nov 7 15:06:16 2010 -0500 Cache bypass: release and unlock pages when we get 0-length reply In some cases, such as reading past the end of file as known to the server, fetchdata will get a 0 length reply. Deal gracefully by unlocking and releasing any pages reserved by readpages. Failure to do so here leads to deadlocks later as we can exit with some pages still locked. Reviewed-on: http://gerrit.openafs.org/3283 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e4250dc64eb26b5da1480e9f5bd58d016f81847f) Change-Id: I54dc4ef040b816596cf48edf866976943220d988 Reviewed-on: http://gerrit.openafs.org/3644 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 3fbac5f800b689d40fd7bdef63dacfd5125e3714 Author: Marc Dionne Date: Sun Nov 7 13:35:36 2010 -0500 Cache bypass: adjust read size for non-contiguous readpages The bypass code's readpages does deal with a non-contiguous list of pages, but it doesn't adjust the size of the read it requests from the background daemon accordingly. As a result we'll ask the server for pages we were not asked to read. Reviewed-on: http://gerrit.openafs.org/3282 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 0b6b2b3cab09eacf9b03638d8770c83aeb0b8fea) Change-Id: Ic7241fb27bd177eb7279292804def753f9120407 Reviewed-on: http://gerrit.openafs.org/3643 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c10f264656ccc03549de4f6aa11bf08e33148668 Author: Marc Dionne Date: Sun Nov 7 13:14:55 2010 -0500 Cache bypass: make readpage deal with reads at end of file When a file's size is an exact multiple of the page size, the vfs will issue a readpage for an extra page at the end, for which there is no data. Deal with it here instead of letting it trickle down to the background daemon, which will issue an unnecessary read to the server, and maybe get confused because there is no data. Reviewed-on: http://gerrit.openafs.org/3281 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8ec31f26770ef1e85fb3a6005467f0e2d3ce1715) Change-Id: Ib47a8cc62611c6e7c904898990b38ae48d8478e3 Reviewed-on: http://gerrit.openafs.org/3642 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 6b4f5f240e3529c45981db8ea15ae788cbeb94b5 Author: Marc Dionne Date: Tue Nov 23 17:50:25 2010 -0500 Cache bypass: Remove AFS_KMAP_ATOMIC Since AFS_KMAP_ATOMIC is defined unconditionally, remove the ifdefs and the code for the !AFS_KMAP_ATOMIC case. We probably don't want to support this feature on a kernel old enough not to have kmap_atomic. This should exist on all 2.6 and even 2.4 linux kernels. This simplifies the code for maintenance and later changes. Reviewed-on: http://gerrit.openafs.org/3372 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit 1de6d5bb0122d00c398202451bf88042ea08aa3e) Change-Id: I6d2970f9b8811e145e2a03105c64cbd6714c0c5a Reviewed-on: http://gerrit.openafs.org/3641 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a26755c9d6739fc9c84bb462fd3a051dea402114 Author: Marc Dionne Date: Mon Jan 10 21:31:18 2011 -0500 Cache bypass: fix use of incorrect "states" Test and set the correct field for cache bypass flags. There was some confusion between cachingStates and the states associated with vcache entries in a few places. Reviewed-on: http://gerrit.openafs.org/3637 Reviewed-by: Matt Benjamin Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8c541079573274d726180d3d9679c6a26cda84ea) Change-Id: Ibaae9a766ef01cf4c68995c2bef454bae5d03b38 Reviewed-on: http://gerrit.openafs.org/3640 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 5de4614c14f73b3d6d4b0da3ed87b6264b42332a Author: Marc Dionne Date: Thu Nov 4 20:49:41 2010 -0400 Cache bypass: Fix oops in bypass transition functions The FCSBypass flag might change between the time we check it before entering afs_TransitionToCaching or afs_TransitionToBypass and when we check it again within the functions. Instead of panicing, just exit if someone beat us to it. Also move the checks within the write lock region to make sure the code doesn't get run multiple times. Reviewed-on: http://gerrit.openafs.org/3266 Reviewed-by: Jeffrey Altman Tested-by: Marc Dionne Reviewed-by: Derrick Brashear (cherry picked from commit f2c6ae300a211460c24c87752cf9400b9e61ee1f) Change-Id: I3b7ad3f9672975a87dbe337256d42166fc638b34 Reviewed-on: http://gerrit.openafs.org/3639 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 8adedcaf5822e88e230c6cd988083d4676251f88 Author: Ben Kaduk Date: Sun Dec 19 19:29:17 2010 -0500 Zero rx_multi_lock before initializing it FreeBSD's kernel debugging facilities will panic if it detects an attempt to re-initialize an already-initialized lock, as detected through some particular bits being nonzero. Zero everything out before starting, to prevent this panic. Reviewed-on: http://gerrit.openafs.org/3550 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 37c20528df26a43ec81b8e0f7658f1516d3c1b39) Change-Id: I7e78989c313269388808c26d521f4075c0749cd4 Reviewed-on: http://gerrit.openafs.org/3638 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cc4ce815780ae7e28adc9c47160f2270c0854e9d Author: Tom Keiser Date: Wed Oct 13 01:16:25 2010 -0400 provide more verbose logging when VGetVolumeByVp_r fails FSYNC_com_VolOff() commits sepuku when VGetVolumeByVp_r() fails to return a heavyweight ref to the volume. This small patch provides more detailed debugging information so we have a better idea why VGetVolumeByVp_r failed. Reviewed-on: http://gerrit.openafs.org/2969 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 3f0c08ad93bf98fbe64d5714649d675712410cc9) Change-Id: Ieebbf65b1764304f0b8e38bb32f0e4f61c332932 Reviewed-on: http://gerrit.openafs.org/3620 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 36921e8c26e2f86dbe322e43574d588c767883d6 Author: Ben Kaduk Date: Sun Dec 19 00:06:13 2010 -0500 FBSD: StopListener glocking fixup afs_osi_Sleep requires the glock (so that it can sleep on it); we dropped the glock earlier in osi_StopListener because soshutdown and soclose can sleep, but we must (unconditionally!) acquire it for our loop waiting on rxk_ListenerPid. Change-Id: Ibea3da2c5d18a2609989b547a1c587c25e3f07ff Reviewed-on: http://gerrit.openafs.org/3549 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 28032bc1c1aaa4c25e94025a8fa9e2b4e8131ce3) Reviewed-on: http://gerrit.openafs.org/3633 commit d8f4635333dabc59cecdba602b14971b6b2da0b0 Author: Jeffrey Altman Date: Fri Dec 24 10:06:05 2010 -0500 vos: free ubulkentries with xdr_free Instead of using free() to free the ubulkentries data structure use xdr_free(). Reviewed-on: http://gerrit.openafs.org/3590 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Reviewed-by: Jeffrey Altman (cherry picked from commit a7836dda8c1aab18c937c7e8909d4d9a678a53fa) Change-Id: I9af8aee92e0e187923ccd952a5487ea419446720 Reviewed-on: http://gerrit.openafs.org/3626 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 79678407c53070f488abafbd8a724b10b05ddb4b Author: Andrew Deason Date: Thu Nov 11 14:45:04 2010 -0600 vos release: Avoid full dump on all sites Commit 9fed169b1c5c823fd96cea94daf712b2cf06c901 attempts to remove any remote RO site that has RO_DONTUSE set. However, we set RO_DONTUSE on all sites earlier in the release process if this is a full release, resulting in all sites getting a full dump. Correct this by remembering in 'origflags' what flags each site has before we messed with the vldb entry. Thanks to Mike Meffie. Reviewed-on: http://gerrit.openafs.org/3296 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Michael Meffie Tested-by: Michael Meffie (cherry picked from commit 97474963e58253f8c891e9f6596403213d53527b) Change-Id: I5a14c490dba7e1ad815856ccb3f90e210e09f50d Reviewed-on: http://gerrit.openafs.org/3624 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit 22bb66ca73f98a7786aac79f1600b374e927addc Author: Simon Wilkinson Date: Sun Dec 26 14:14:38 2010 +0000 volser: Fix broken bulk conversion The converstions between the original, N and U bulk list return values were all broken in various ways: 1/ Shifting from malloc to xdr_alloc() (in 4f1efdc8b73ed) subtly changed the behaviour when handling an empty list. The correct XDR representation of an empty list is {0, NULL}, not {0, &memZero}. Fix the code so that if the source list is empty, an empty destination list is returned. 2/ The destination list length was never being filled in. This means that xdr_free() could not be safely used on this list, as the wrong length would be passed to the allocator. Fill in the destination list length as part of the conversion. 3/ xdr_free(...) is a no-op when called with an empty list - there's no need to check before calling it. Remove these checks to improve the code's readability. 4/ xdr_free(...) should only be called when the RPC returned sucessfully. The stub is responsible for freeing data should the call fail mid way through unmarshalling. 5/ Where an RPC returns the number of entries independently of the length of a counted array, it is unsafe to use that length to iterate the array without checking that it is within the array bounds. Instead, just use the array length when performing conversions. Reviewed-on: http://gerrit.openafs.org/3596 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 02a2f6005042b9370350bdc03d4aab83355b205d) Change-Id: I1d3ec3929a8974d571e9b3712e53db4fceab4879 Reviewed-on: http://gerrit.openafs.org/3635 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0c6ecb1274e15fac5aa106ca0bcf0e4969ea67c3 Author: Simon Wilkinson Date: Sun Dec 26 14:00:42 2010 +0000 vos: Abstract out bulk list conversion Pull the various segments of code that do bulk list conversion into their own functions. This is purely code reorganisation at this point, fixes for these functions will follow in subsequent patches. Reviewed-on: http://gerrit.openafs.org/3595 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 3503f32848ab3fcb0df5a0b40518106bf19cee6e) Change-Id: Ib6b32fe942f5083e18f32404156a42cd82bf5c5a Reviewed-on: http://gerrit.openafs.org/3634 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0f48add85f29de63eeaf1d6342f675131dc4ab79 Author: Ben Kaduk Date: Sun Oct 24 00:29:07 2010 -0400 FBSD: band-aid vnode locking in lookup The lock order requires that we acquire vnode locks from the root towards the leaf. When looking up "..", this requires that we unlock the directory before locking the child, otherwise we are susceptible to deadlock. This is only a band-aid, as afs_vop_lookup should be rewritten. Change-Id: I594f31ba05c3847e5d83d89748266d24547bf97b Reviewed-on: http://gerrit.openafs.org/3035 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/3632 Tested-by: Derrick Brashear commit 72e2b1119136315a5845c7af00aa73456985d6fa Author: Ben Kaduk Date: Sat Nov 6 00:02:31 2010 -0400 FBSD: close race in afs_root Previously, we called afs_PutVCache(afs_globalVp) directly. This is unsafe because PutVCache acquires locks which can sleep, losing the serialization of the GLOCK. In rare circumstances, this can result in two threads simultaneously making that call, and the second one would panic in vputx() with a negative refcount. Close the race by using a local variable for the afs_PutVCache() calls, applying the change to afs_globalVp before dropping the GLOCK. While here, fix up other race conditions. Change-Id: I4733489d50d3459172ee2eb021190d013f68018a Reviewed-on: http://gerrit.openafs.org/3275 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-on: http://gerrit.openafs.org/3631 Tested-by: Derrick Brashear commit 2da52a3b73ec84aef21284cd217aeaaf330fce00 Author: Andrew Deason Date: Wed Nov 10 09:11:47 2010 -0600 Use afs_foff_t for file offsets Some callers in vol and volser were not using afs_foff_t for file offsets for calls to STREAM_ASEEK, FDH_TRUNC, FDH_PREAD, or FDH_PWRITE. Most notably, in code for volume cloning, purging, and dumping operations. Fix them to use afs_foff_t to prevent errors when dealing with large special files. Reviewed-on: http://gerrit.openafs.org/3289 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit ef8c3db90ae9ec25705027c609a1bae5f186c4f1) Change-Id: I6f950fd23eba9e00470e424ae49ee6ce9d7ca6f4 Reviewed-on: http://gerrit.openafs.org/3618 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 95882c8b96b525749633a86d35c93b5efd8073f3 Author: Andrew Deason Date: Tue Dec 21 16:11:50 2010 -0500 HPUX: Allow des.c to compile The HP-UX compiler does not like des.c without 'register' keywords. Be sufficiently retro so the build can continue. Change-Id: Ief032712893d96c2c198da82238eefe6807082cd Reviewed-on: http://gerrit.openafs.org/3571 Tested-by: BuildBot Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a3e5291ec08d686ca07610fdbac8d5916f27343 Author: Russ Allbery Date: Fri Dec 24 10:53:22 2010 -0800 Update NEWS for 1.5.78 and 1.6.0pre1 Based on the release notes. Add an entry for 1.6.0 with in progress instead of a date to hold the release notes for 1.6.0pre1 rather than creating separate entries for each release candidate. Users who track the release candidates can refer to the public announcements, and this will be cleaner when reading history later on. Reviewed-on: http://gerrit.openafs.org/3592 Tested-by: Russ Allbery Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 676a4efc232bc77fe20e46c2dbe45e89f89cd670) Change-Id: I324e55c82bf2e353143368ccd4ca074a646d11d1 Reviewed-on: http://gerrit.openafs.org/3594 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d8b59ab659aacdd2dd878cb521ba4f095096c165 Author: Andrew Deason Date: Tue Dec 21 10:31:39 2010 -0500 LINUX: Avoid unnecessary afs_ShakeLooseVCaches Before some of the NewVCache refactoring, we only called afs_ShakeLooseVCaches when afs_vcount was over (or equal to) afs_maxvcount. Do this again, so we only try to shake loose vcaches when we need more vcaches. Otherwise, we will call afs_ShakeLooseVCaches every single time we want a new vcache when dynamic vcaches are disabled (such as 2.4 Linux), and we log a warning when we can't free any (which is likely when there are only 1 or 2 vcaches in use). FIXES 128756 Reviewed-on: http://gerrit.openafs.org/3569 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit fa4b1f3aeb33c28b2d8e2724542d1696fcc87773) Change-Id: I9a108b38fa30e1a45f07c5d5d7d680d2b7d0257f Reviewed-on: http://gerrit.openafs.org/3578 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit 87a98b3109d389eac0e4a9bb4862ca9e320e21fc Author: Andrew Deason Date: Mon Dec 20 17:29:37 2010 -0500 Cache bypass: remove ifdefs under src/afs/LINUX24 Same as commit 9657695d34badaac654227be8c731a1512f2106b, but for LINUX24. Remove the AFS_CACHE_BYPASS references in LINUX24, since it is always enabled. Also remove messages about a "cache bypass patched module". Reviewed-on: http://gerrit.openafs.org/3568 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 64e564b29e95898a6eb85dc527d046aab241fb8f) Change-Id: Ia1165e1ff37c18417deef56e79ed791ca77d7a53 Reviewed-on: http://gerrit.openafs.org/3577 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b442143bbdffabeb33fc4f536e0d1f7316aec4bd Author: Marc Dionne Date: Tue Nov 23 18:21:16 2010 -0500 Cache bypass: remove ifdefs under src/afs/LINUX Compile cache bypass code unconditionally under src/afs/LINUX since it is now always enabled. Also remove syslog messages about a "cache bypass patched module" when loading and unloading the module. Reviewed-on: http://gerrit.openafs.org/3373 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit 9657695d34badaac654227be8c731a1512f2106b) Change-Id: Id663878335875d191280f289b8b353c7834648de Reviewed-on: http://gerrit.openafs.org/3576 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit b024eeb6c78f133d1c87458cfd2d60b446bf9ede Author: Derrick Brashear Date: Tue Dec 21 09:17:38 2010 -0500 DARWIN: replace resource merge script ref with binary Ro is a helper tool; use Rez directly Reviewed-on: http://gerrit.openafs.org/3565 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 468ff8e4d298baba9c2d4f96d1a3ec12cf64d0c7) Change-Id: Ia1fed7345c38b891d644f459b97b36a9f2611a0a Reviewed-on: http://gerrit.openafs.org/3567 commit 28c898cbfa9a4d83295aa5d2348e344afe35d95e Author: Derrick Brashear Date: Tue Dec 21 08:58:31 2010 -0500 DARWIN: make growlagent build not run afoul of ._ fun in some cases a git checkout would promptly merge the ._ file away, meaning a subsequent build would fail. just use the developer tools to set an icon instead of clever tricks. (cherry picked from commit 0ef3ce2006b81f590c62a51b7ec903ebff24b9c8) Reviewed-on: http://gerrit.openafs.org/3563 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: I9c30a9b05fb776bff9b19adf58a701799cce0a27 Reviewed-on: http://gerrit.openafs.org/3566 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b9c7a3ed764d9a9daaf110d3078a74dfac4c4b7a Author: Andrew Deason Date: Sun Nov 21 18:57:22 2010 -0500 Solaris: Support -i in shlib-build Our librokenafs.map file contains symbols that we may not actually define, since the list of exported symbols varies depending on the platform's capabilities. This causes errors during linking, which can be suppressed by marking all symbols as "= EXTERN". Do so by having shlib-build modify the mapfile at link-time, when -i is specified to indicate ignoring undefined symbols. Reviewed-on: http://gerrit.openafs.org/3365 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 222067f6f8fd4f596302befbc48918e10547ed1d) Change-Id: I4bdf000bbdc10b0818c2fab6eaff912f18e1f4fb Reviewed-on: http://gerrit.openafs.org/3561 Tested-by: Derrick Brashear commit f0b69fcdc80fa637a557c75ea0f99c62ebb98681 Author: Derrick Brashear Date: Mon Dec 20 16:24:26 2010 -0500 backup: pass in valid dummy pid for LWP LWP_CreateProcess needs memory passed in; instead of a null pointer, pass in a pointer to a PROCESS. Reviewed-on: http://gerrit.openafs.org/3555 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4f89d4ad348f1b20b9f27e8985fa09eafb6212e0) Change-Id: I10c81fc3242294266468560628ff4f328e6e6997 Reviewed-on: http://gerrit.openafs.org/3560 commit 95b83af1bc2a2c8664128a5923d1f702214f287f Author: Andrew Deason Date: Mon Dec 20 11:05:46 2010 -0500 LINUX24: Define afs_linux_can_bypass We call afs_linux_can_bypass, so make sure it exists. Reviewed-on: http://gerrit.openafs.org/3554 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear (cherry picked from commit ad0b390ec5303576cee37fa49bfd2a732b365a83) Change-Id: Ie31976505170bb01895dfd8734267ab497af901c Reviewed-on: http://gerrit.openafs.org/3559 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 656541447d9ae5da859550533a4b74766730dc49 Author: Andrew Deason Date: Mon Dec 20 10:07:11 2010 -0500 LINUX24: Include linux/pagemap.h For 2.4 Linux we need to include linux/pagemap.h, otherwise we get undeclared references to KM_USER0 and PAGE_CACHE_SIZE. Reviewed-on: http://gerrit.openafs.org/3553 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 6f65ace58d2c50313e307204c0e4a6408483a211) Change-Id: If290faf297c3c3267cd0969bbbc3036bae256f8e Reviewed-on: http://gerrit.openafs.org/3558 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2fa92a58e827aec77c8b4dbe50d06e54d185f316 Author: Andrew Deason Date: Mon Nov 22 22:54:32 2010 -0500 Only specify CFLAGS_NO* with --enable-checking Currently we are always specifying e.g. CFLAGS_NOUNUSED as -Wno-unused when we think we are compiling with gcc. Since autoconf always tries to use gcc when possible, this breaks the build if we have a gcc available but we use another cc for building. This should be fixed otherwise, but in the meantime at least make this only happen if warnings are actually turned on, so the build is less likely to break with a default ./configure invocation. Reviewed-on: http://gerrit.openafs.org/3366 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 18793d4bfaeb88fd456c8d489165139126c0d293) Change-Id: Ifd31548dfecdd1a4838047e2548a8b2265422d26 Reviewed-on: http://gerrit.openafs.org/3557 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0f27f0925c17c24e98687f92e5299541a7ab794c Author: Derrick Brashear Date: Fri Dec 17 21:16:52 2010 -0500 darwin: fix fixed setpag error handling looks like testing 9da7f3cc73bf990427a9dd80ba2bbbb618383ea3 failed to have the right dependencies. fixing the fix! Reviewed-on: http://gerrit.openafs.org/3542 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f32a0df37be23fd87fa24187bbdd6a1ec73a2b27) Change-Id: I461955f97646be673a73ca64d3e511b0b113a477 Reviewed-on: http://gerrit.openafs.org/3543 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1e8ecdd05b21d2d4922530421051359dabb35d94 Author: Derrick Brashear Date: Thu Dec 16 13:39:02 2010 -0500 openafs 1.6.0 pre1 make changes for prerelase 1 of 1.6.0 Change-Id: I04c61080dff4827b95b22238bfb08a26a4514955 Reviewed-on: http://gerrit.openafs.org/3536 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 243eaf6620c4d08bff82b02c46bf833415f1b05e Author: Derrick Brashear Date: Wed Dec 15 05:22:26 2010 -0500 macos nfs translator vnode ref fix code won't trigger today but we might as well get it right. we already ref the vnode. don't leak refs. Change-Id: I6752819239cd3a88e1782596554595c3e862c413 Reviewed-on: http://gerrit.openafs.org/3535 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 556772c9639ed2ab00a7951df01cb98bfb6b24bf Author: Anders Kaseorg Date: Sat Nov 6 03:03:19 2010 -0400 Linux: Fix AFS_NORETURN violation with osi_AssertFailK Commit d86f0c44d3c5910a6b54895484dc0286eac9bc73 changed the AFS_LINUX26_ENV implementation of osi_AssertFailK so that it returns, contradicting its AFS_NORETURN prototype, in an effort to make the following BUG() display the right line number. To fix this, move the returning implementation into its only caller, the osi_Assert macro. This fixes possible compiler misoptimizations due to rx_kcommon.c:255:1: warning: ‘noreturn’ function does return Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/3276 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear (cherry picked from commit 1519144f83925d82117f31ce0872f77660f197ee) Change-Id: I2b630a3264d04d6fbb626b7ef997da9bf081ade1 Reviewed-on: http://gerrit.openafs.org/3513 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit ef445de0b09bb4f1c80e0541f9fff37a44b5d835 Author: Andrew Deason Date: Wed Dec 8 18:16:14 2010 -0600 Add ioctl-based AFS calls for Solaris 11 Switch from using syscall-based AFS calls to ioctl-based AFS calls, since syscall 65 was repurposed in some kernels in Solaris 11 and OpenSolaris. Update the provided afs init script to accomodate the additional steps needing for starting the AFS client. Partially based off of some work by Derrick Brashear. Reviewed-on: http://gerrit.openafs.org/3498 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4e00fc6f0e412f438f2f72f8b427c21810d00109) Change-Id: I4f10e0de116dc3e19b7bbcb3eb304c894a67160e Reviewed-on: http://gerrit.openafs.org/3509 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0152303542a98bef563b327f6102a89e46fe3d24 Author: Andrew Deason Date: Thu Dec 9 13:02:16 2010 -0600 DARWIN: Fix setpag syscall error detection Darwin uses the same variable as the return value for ioctl_afs_syscall, and as the last 'out' parmater, so the return value for ioctl_afs_syscall will always overwrite whatever is written to the last 'out' parameter. Instead, record two different variables, and allow the returned error to overridte the error set as the last parameter. Reviewed-on: http://gerrit.openafs.org/3497 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9da7f3cc73bf990427a9dd80ba2bbbb618383ea3) Change-Id: I440d33e5cdd94dc5c7d12ddef1e63a05e53d787d Reviewed-on: http://gerrit.openafs.org/3508 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 58604e7adcb3208c68c7188cf2151504bb34218e Author: Andrew Deason Date: Fri Dec 10 14:43:24 2010 -0600 Add afs init script for Solaris 11 Reviewed-on: http://gerrit.openafs.org/3499 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 2cd0a1e4ff82349f8671783e40ea478096d69b56) Change-Id: Iaf0241a8f5651dda1ad84ebb097350f0dc2bab85 Reviewed-on: http://gerrit.openafs.org/3507 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 84fccf150f58fa620a4f93f497e80616d4184ed6 Author: Christof Hanke Date: Sun Nov 21 20:09:23 2010 +0100 use computed values in src/gtx/curseswindows.c compiling failed, because of -Wunused-value. Use the return code of wstandout and wstandend and pass it upwards. Reviewed-on: http://gerrit.openafs.org/3344 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 03ab065e0ccf291d45a93b7d63c022bcad3aac34) Change-Id: I4623ba9c00ea19b33d73831f6f11ba2d2e32b1a0 Reviewed-on: http://gerrit.openafs.org/3511 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 800ff75c7129e6690082ef3959214163e216f425 Author: Andrew Deason Date: Thu Nov 4 10:57:30 2010 -0500 UKERNEL: f_fsid is a struct on AIX The statvfs f_fsid member is a struct with two fields on AIX when _ALL_SOURCE is defined (which we define to get various extensions). So in the AIX case, use it as such a struct instead of a single integer. Reviewed-on: http://gerrit.openafs.org/3260 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7d6860c852296d96eac2785739bcfb9de76cd92d) Change-Id: If8912f8cba8e12525f12f75cd53cf77bb7d4c547 Reviewed-on: http://gerrit.openafs.org/3510 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 60d0759f212be50147345537cbad90421325e1e2 Author: Anders Kaseorg Date: Wed Dec 8 01:21:16 2010 -0500 rxi_NatKeepAliveEvent: Shrink excessive stack buffer Fixes rx.c:6138:1: warning: the frame size of 1600 bytes is larger than 1024 bytes Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/3491 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 3fd789dfbdc05c7c00798bc305d743deea05e155) Change-Id: I8b39e5d4156a99e5435f7329d7d1b3465ddcadc2 Reviewed-on: http://gerrit.openafs.org/3506 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1e7d213fcbc9f89413fd712fe98dab3c1db111de Author: GCO Public CellServDB Date: Mon Dec 13 10:53:05 2010 -0500 CellServDB update 13 Dec 2010 Change-Id: I5048d1932943687bc2829326e32b530b2a8a9c41 Reviewed-on: http://gerrit.openafs.org/3504 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 6e245f307be77d67eacfdfd5b3c3eae4115bb61d Author: Christof Hanke Date: Fri Nov 19 21:30:21 2010 +0100 use proper 64bit casting for pointer-math building with "./configure --enable-checking --enable-supergroups" fails, because on 64bit, the casting in map.c gives a warning. Just add another ifdef and cast according to the size of a pointer. Reviewed-on: http://gerrit.openafs.org/3341 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit acdef43d818ee56e6c1f1dc29f508c02793c8355) Change-Id: If7dbe6f41f015025447e68eb1fc9ea14e56d6fe2 Reviewed-on: http://gerrit.openafs.org/3496 Tested-by: Derrick Brashear commit 6b6d28d73726de84b1c54e10a21dc1e441912518 Author: Marc Dionne Date: Fri Nov 5 17:30:02 2010 -0400 Linux: define llseek operations With kernel 2.6.37 it is now mandatory to define the llseek operation for files and directories. If these are not defined, no_llseek is called, and any attempt to seek returns ESPIPE. Most file systems use generic_file_llseek, but it seems safer to use default_llseek which is what the vfs used to call for us by default. In 2.6.37 these two functions are actually functionally identical. Reviewed-on: http://gerrit.openafs.org/3292 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit fb6b22cf77039962f22f462ee602f0e4a8153817) Change-Id: I30890cc3ad3f1a932218b6c8aac653cf747cdf2c Reviewed-on: http://gerrit.openafs.org/3495 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 18e38453925174f574d011b0f3d557763450391e Author: Anders Kaseorg Date: Sat Nov 6 03:17:17 2010 -0400 Linux: Fix prototypes for afs_xsetgroups and sys_setgroupsp and friends Fixes some “warning: function declaration isn’t a prototype”, and makes the prototypes consistent with the corresponding definitions. Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/3278 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c07b47169adb85621c328a3687ea62ef84e43bb1) Change-Id: Ia91a598fc4b25f5fd7f29aed38a7caa3437ffc89 Reviewed-on: http://gerrit.openafs.org/3490 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4bc728d3bd51fe32eebe602aab1079c52831d3a8 Author: Jeffrey Altman Date: Mon Dec 6 23:24:18 2010 -0500 modify FindIndex to compare uuids If FindIndex is provided a server address and entry has a valid uuid, obtain the uuid for 'server' and use that search for a matching entry. This modification is necessary in order to permit operations against multi-homed servers in split horizon DNS configurations. Reviewed-on: http://gerrit.openafs.org/3468 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9aad0979e9ff0601c249eb66a6ecfb3e76264702) Change-Id: If819975bd24e29da1142531c3f0eb27755e65afb Reviewed-on: http://gerrit.openafs.org/3489 commit 2a9744f57faf8a9c6ad08b72015612a7934dbb3a Author: Jeffrey Altman Date: Sun Jun 6 11:03:44 2010 -0400 Convert from using nvldbentry to uvldbentry The support routines relied upon by vos use the older nvldbentry data structures which do not include the UUID for the server. This patchset updates the code to use the uvldbentry structure so that a future patchset can make use of UUID values when available. Any functions from vsprocs.c which are referenced by vos.c are considered public. This includes all of the VL_xxxx, UV_xxxx and Lp_xxxx functions, the EnumerateEntry, SubEnumerateEntry, and host mapping functions. For any which references an nvldbentry as a parameter a new 'U' version is created that accepts a uvldbentry. These new 'U' functions are then used throughout vos.c and the internal routines. Reviewed-on: http://gerrit.openafs.org/2089 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 4f1efdc8b73ed734197925766530d033c6f9794a) Change-Id: I85c8f56b706f5ad335968f3f9857b284a28024ef Reviewed-on: http://gerrit.openafs.org/3488 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0bddd655c9fff2386ef605c03546beca038d2bf4 Author: Andrew Deason Date: Thu Sep 30 11:34:59 2010 -0500 volser: Do not FSYNC_VOL_DONE temporary volumes Currently, the volserver just looks at the destroyMe field in a volume header to see if it should tell the fileserver a volume has been deleted (FSYNC_VOL_DONE opcode). However, temporary volumes created by the volserver (such as new volumes or clones) have destroyMe set, but are obviously not deleted, and so the fileserver should just be told FSYNC_VOL_LEAVE_OFF about these volumes instead. With commit bb9caf9822a53ad07cd3a5d6cea7f6b7eeeedd59, FSYNC_VOL_DONE and FSYNC_VOL_LEAVE_OFF actually do different things, so this does make a difference. Note that this commit slightly changes the meaning of the vp->needsPutBack field. Now it must be set to VOL_PUTBACK_DELETE to tell the fileserver that the volume has been deleted, and set to VOL_PUTBACK if it just needs to be given back to the fileserver. Reviewed-on: http://gerrit.openafs.org/2872 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5988923898e15cb50d550e54119869b38cb5bc5b) Change-Id: I1cbc48537a0b038838a8bc102842b05195d685c3 Reviewed-on: http://gerrit.openafs.org/3481 commit b11f35353a19d760820dad80441aead7594408d3 Author: Andrew Deason Date: Fri Nov 5 16:48:28 2010 -0500 vol: Do not give back not-checked-out vols VAttachVolumeByName_r has logic to give back a volume over FSSYNC if we checked out a volume but failed to attach it for whatever reason. However, the logic used for determining if the volume was checked out or not is a bit inaccurate (even moreso than the comments imply), potentially causing us to VOL_ON volumes that don't exist at all. Instead of trying to guess based on various conditions whether or not we checked out the volume, keep track of a variable that is only set when we actually checkout the volume from the fileserver. Then only give back the volume if it is set. Reviewed-on: http://gerrit.openafs.org/3274 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e890f090e11d09b6e6b929642cbd92a56fb6e66e) Change-Id: I3f42b2c0f54f30989f7a1a3fd18171deb4b814f1 Reviewed-on: http://gerrit.openafs.org/3480 commit a2a096547d341b3475c13ff9a2845284f973990f Author: Andrew Deason Date: Fri Nov 5 14:34:05 2010 -0500 DAFS: Do not let VScheduleSalvage_r free vp In VScheduleSalvage_r, we were calling VCancelReservation_r, which has the possibility of free'ing vp. Since we still use vp after doing this (and since we're already inside VCancelReservation_r to begin with), we must not free vp. Instead, just decrement nWaiters without triggering any of the dtor code in VCancelReservation_r. This is safe as long as all VScheduleSalvage_r callers ensure that they check to free the vp if necessary, which they all do. Thanks to Derrick Brashear. Reviewed-on: http://gerrit.openafs.org/3272 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ef4b9e13ef6a79d7e5f540297e486189fdedf085) Change-Id: I2f49d5eb6f9bad2343ee9a9c84ccbc1f323cc8a8 Reviewed-on: http://gerrit.openafs.org/3479 commit 6c5a28647dfaa3cac5e08279ffacb6484c8926ef Author: Derrick Brashear Date: Tue Dec 7 00:34:11 2010 -0500 tweak afs server conn error handling a bug in a 1.6 pullup of be770d4336c2fd7b8a83f18577ae6bb23a3f3e99, properly mark servers down for rx errors except OPCODE pulled up and failed to push edited change. Change-Id: I329ab83646c30597548b08d5ed0a4f1f6cd3115d Reviewed-on: http://gerrit.openafs.org/3470 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d5e4447f5ddd023a9312d703fb21d59274b7d19d Author: Andrew Deason Date: Thu Nov 4 10:33:17 2010 -0500 afsd: Pass cacheMountDir to aix_vmount cacheMountDir is no longer global, so aix_vmount() needs it passed as an argument. Do so. Reviewed-on: http://gerrit.openafs.org/3259 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8401d0281f833638c1cfc5cb862d77fe97232ecb) Change-Id: I2bd574981d6a63fca88f1a635db09521f6347e9f Reviewed-on: http://gerrit.openafs.org/3461 commit 1dd1ff13b607ddac781604d245f0e0fcb0df26e8 Author: Ben Kaduk Date: Sat Nov 27 23:25:03 2010 -0500 FBSD: clean up rx_socket teardown We had previously been waiting for the SO_ISDISCONNECTED flag to show up in the so_state field, but the flags are not really used for stateless protocols such as UDP, and that flag never shows up. Even with a full three-second wait, the rxk_Listener sometimes still failed to fully terminate, preventing the reuse of the rx port for a restarted afsd. Copy from Solaris and loop until rxk_ListenerPid is zero, doing bogus one-byte NetSends in the body of the loop. Reviewed-on: http://gerrit.openafs.org/3391 Reviewed-by: Matt Benjamin Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 622403c87a8cbcedcd1212fd32414285d103887b) Change-Id: Ic5cfc4db2ff5b55730de31832b64bc1bf0696767 Reviewed-on: http://gerrit.openafs.org/3459 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c945f17666ad5a4cf36545476d46951732c7e8db Author: Ben Kaduk Date: Sat Oct 30 02:23:24 2010 -0400 FBSD: warning cleanups Only declare 'p' if it will be used; other unused variables; signedness mismatches. Kill spl with fire. Reviewed-on: http://gerrit.openafs.org/3200 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ebd18bfade80bd66422aad4310375ee460cd1ed5) Change-Id: Iac808cf603043a8996f1c8657765ef8a0a7e6d88 Change-Id: I163a4314a0598eec9a514bbc564d8dc2ff91acae Reviewed-on: http://gerrit.openafs.org/3458 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c0b38dc2970148fc9d0efc43ce1476454d7a2520 Author: Ben Kaduk Date: Fri Nov 26 23:28:50 2010 -0500 Catch up on FBSD releases Add param.foo.h and sysname entries for the past and forthcoming FreeBSD 7.2, 7.3, 7.4, and 8.2 releases. Also update the MakefileProto.FBSD.ins that need touching, simplifying the libuafs one in the process. Reviewed-on: http://gerrit.openafs.org/3389 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a4e4ed9de93d202d21cab4c40d37fcfacc85694e) Change-Id: Icccc9f116c707a9af776f59231fc4999865b6344 Reviewed-on: http://gerrit.openafs.org/3457 Tested-by: Derrick Brashear commit a463e658969e112260a631f910b4d431c76835a4 Author: Derrick Brashear Date: Mon Dec 6 13:55:22 2010 -0500 properly mark servers down for rx errors except OPCODE if we get a negative (rx) error, it means the server is down, *except* for RXGEN_OPCODE. make this handling consistent (cherry picked from commit be770d4336c2fd7b8a83f18577ae6bb23a3f3e99) Change-Id: I97f161e19140591c304e748eead8dcc46852f94a Reviewed-on: http://gerrit.openafs.org/3456 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a9095c0bc8b7ce7f48f0b90ed80233bb9d23aeaa Author: Antoine Verheijen Date: Wed Dec 1 15:40:04 2010 -0700 OpenBSD: Fix variable name typo in osi_vcache.c The osi_PostPopulateVCache() routine in the OpenBSD version of osi_vcache.c tries to use the non-existent variable "vc" instead of "avc". This fixes it. Reviewed-on: http://gerrit.openafs.org/3418 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit eaaba59773002ca3ba3e15d1aea69ae4b9493359) Change-Id: Id2e4af53a371c3b9e605752424c74c082d0c4182 Reviewed-on: http://gerrit.openafs.org/3455 Tested-by: Derrick Brashear commit 763ba0965c0338deaacdc538e23ff3854ea1bc77 Author: Antoine Verheijen Date: Wed Dec 1 14:24:26 2010 -0700 OpenBSD: Fix use of mstat Length field in osi_vm.c The code for osi_VM_FlushPages() in osi_vm.c for OpenBSD incorrectly tries to access field "m.Length" in the vcache structure "avc" instead of "f.m.Length". Reviewed-on: http://gerrit.openafs.org/3417 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 35daebc577ab11a5fd80d678764a3a681cc5f2f3) Change-Id: Iffbccfdf0f066d0cb02bb39146afd9520c9bc277 Reviewed-on: http://gerrit.openafs.org/3454 commit 3141167ad1d360e2da4c26225f86e3ad0789bd85 Author: Antoine Verheijen Date: Wed Dec 1 13:22:45 2010 -0700 OpenBSD: Use Darwin version of afsi_SetServerIPRank() for OpenBSD 4.7 and above. With OpenBSD 4.7, the ia_subnet and ia_subnetmask fields have been removed from the in_ifaddr structure as part of a cleanup that considers them unnecessary. Thus, the version of afsi_SetServerIPRank() that OpenBSD was using no longer compiles. On the other hand, the Darwin version of this routine seems suited to OpenBSD's needs since it doesn't use those fields so we'll use that version for OpenBSD 4.7 and above instead. Reviewed-on: http://gerrit.openafs.org/3405 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 2d2ac3ca5fbd221d297861c0b5c409e9e004545c) Change-Id: I60c8aeb69484c87b10cdda8a317702d2f80ee849 Reviewed-on: http://gerrit.openafs.org/3453 commit 8a534a9a8e0d0f3547130ffb4c9bc74f71839869 Author: Antoine Verheijen Date: Wed Dec 1 11:54:23 2010 -0700 Darwin: Assign correct value to myDstaddr in afsi_SetServerIPRank() The value in sin->sin_addr.s_addr that's assigned to myDstaddr in the Darwin version of afsi_SetServerIPRank() is in network byte order but really needs to be in host byte order. Note: This patch assumes that change I66f5c790d8c55b359e3550b6d71f3abe040a2820 has been previously installed. The patch fails otherwise. Reviewed-on: http://gerrit.openafs.org/3402 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 2822416059fe192dc7e3c261b1e93510f2f10f3e) Change-Id: I6fba524733ecf35e60419d449838e93a7a5255a6 Reviewed-on: http://gerrit.openafs.org/3452 commit 62988aa3762ba28ba875100673a2e0f64d8611fa Author: Antoine Verheijen Date: Wed Dec 1 11:37:02 2010 -0700 DARWIN: Fix processing using rx_ifaddr_* macros in afsi_SetServerIPRank() The macros rx_ifaddr_address, rx_ifaddr_netmask, and rx_ifaddr_dstaddress all expand to a call to memcpy() which returns the destination address as its return value. The test in the DARWIN version of afsi_SetServerIPRank() for completion when using this macro, however, seems to assume that success returns zero, which is wrong and results in myAddr, subnetmask, and myDstaddr always being set to zero. This patch corrects this behaviour. Reviewed-on: http://gerrit.openafs.org/3401 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8fa01c4d602fac6d5d81b119d0593f02087e4302) Change-Id: If4a47f57a804a2492659d74a5e930f4a962f1748 Reviewed-on: http://gerrit.openafs.org/3451 commit 4d0797d6d9fa6d92efbcac9afb72383f0cd7fa32 Author: Derrick Brashear Date: Thu Dec 2 01:55:34 2010 -0500 freebsd: properly track vcache references previously both root and reclaim could end up leaking refs. fix it. Reviewed-on: http://gerrit.openafs.org/3424 Reviewed-by: Benjamin Kaduk Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 6eb1088aad9163ab8d4a4dda513444290c55daa6) Change-Id: I0c5c8554caf777e8c97529a7d640a79211a0300c Reviewed-on: http://gerrit.openafs.org/3450 commit eb563acb2175012759b06ed6dc86939d4b2c9614 Author: Derrick Brashear Date: Thu Dec 2 01:48:53 2010 -0500 balance afs_vcount in non-linux CM when we dole out a vcache, count it. Reviewed-on: http://gerrit.openafs.org/3423 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit bd2e024dc230693b1c6cbcfe40d4270a475b02d0) Change-Id: Ie80dfd0be5e8c5560763b3fa50a27ed766340aa5 Reviewed-on: http://gerrit.openafs.org/3449 commit 4209e98c2d61256bbfe07f3d005b83746ec4a5d0 Author: Marc Dionne Date: Tue Nov 2 20:54:20 2010 -0400 Linux: 2.6.37 - replace get_sb with mount With kernel 2.6.37 the new entry point for mounting a filesystem is the mount() operation instead of get_sb(). Replace afs_get_sb with afs_mount if the new operation is available, and use mount_nodev instead of get_sb_nodev. Note that this is not strictly required for 2.6.37 since the old interfaces are still around, but we might as well switch now. Reviewed-on: http://gerrit.openafs.org/3245 Reviewed-by: Marc Dionne Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 2ea841feac2de8ade987c18cb7043aacfebe0d83) Change-Id: I1f17068a1a06654568f30b75c5c65da0100995cd Reviewed-on: http://gerrit.openafs.org/3251 commit fee17990194cde86f8ec190086425df49dc30d78 Author: Derrick Brashear Date: Mon Nov 22 11:36:55 2010 -0500 redhat init script fix missing space the if [] needed a space before the ]. fix it. Reviewed-on: http://gerrit.openafs.org/3357 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 53d1fae4c422317dab0b7bf7fb0dedc5eb1f3607) Change-Id: Iab0a729f44ad32c416c5898078c57d93142d3c5e Reviewed-on: http://gerrit.openafs.org/3359 commit 87fbb5033762ea90e70b1fae1389c8fe8afdfa90 Author: Anders Kaseorg Date: Sat Nov 6 03:15:06 2010 -0400 Linux: Fix prototypes for sys_setgroups_stub and sys32_setgroups_stub Fixes “warning: function declaration isn’t a prototype”. Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/3277 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 14980b477822ecc66e95f8c2a71f0fc11839afbd) Change-Id: I8bbee19ae1a36b2222df224856d08ea71ce91d83 Reviewed-on: http://gerrit.openafs.org/3306 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b17c71d67a06c43d32eedb862f84a3e8e518ac44 Author: Alejandro R. Sedeño Date: Fri Nov 5 17:24:43 2010 -0400 Linux: use DEFINE_MUTEX for afs_linux_alloc_sem on newer kernels DECLARE_MUTEX is gone as of 2.6.37; afs_global_lock switches from DECLARE_MUTEX to DEFINE_MUTEX at 2.6.16, so do the same here. Signed-off-by: Alejandro R. Sedeño Reviewed-on: http://gerrit.openafs.org/3273 Reviewed-by: Marc Dionne Tested-by: BuildBot Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit f9409fcdffa594aff9530038a5ac81a2495da3b6) Change-Id: If14d34183d8a28232f5f38fbe807c23dce1abf1b Reviewed-on: http://gerrit.openafs.org/3287 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d01e8830661a0939215e1d94be73d8b91053133d Author: Michael Meffie Date: Thu Nov 11 12:17:05 2010 -0500 viced: fix missing host lock in h_Enumerate The global host lock must be held over h_Release_r. Fix the the case in h_Enumerate where h_Release_r is called without the global host lock held. Reviewed-on: http://gerrit.openafs.org/3294 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c8dc68299d47ae4d7f0c9a1354de9ddd37ff86fc) Change-Id: I10ac0ce495f2784ec270ebb50fc92c983cc0308b Reviewed-on: http://gerrit.openafs.org/3295 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fb7e276efdf1c68144c8d210582c0b66ab1ab081 Author: Jonathan Billings Date: Fri Nov 5 09:38:43 2010 -0400 RedHat: Remove potpourri.h from RedHat SPEC file manifest potpourri.h is no longer needed, so it should be removed from the list of files to be installed. The missing file was causing the RPM package build process to fail. Change-Id: I2226bfa5ce170cce252c8d55c13b23552a682150 Reviewed-on: http://gerrit.openafs.org/3267 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 946d3064a3bc6763bdfb0bf8020f3eb3c9d2e2c5 Author: Derrick Brashear Date: Thu Nov 4 08:23:52 2010 -0400 openafs 16 merge error on rx mutex inversion fix remove an extra bogus line left when cherry-picking. (cherry picked from commit d5ce8d19ace9b87816dd36663420136f5f2ad746) Change-Id: I4fa8cf8c4f0aafc04ffe7a9e48f2437dfb9e19db Reviewed-on: http://gerrit.openafs.org/3256 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 608b568a8956469df419d1b48917444d7cd1a594 Author: Andrew Deason Date: Fri Oct 8 15:39:21 2010 -0500 RX: Add rx_InterruptCall Add rx_InterruptCall, to cause a call to error out and wakeup anyone waiting to write or read to that call. Reviewed-on: http://gerrit.openafs.org/2982 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Reviewed-by: Tom Keiser Tested-by: Derrick Brashear (cherry picked from commit 9fa496d11ff2a361b4693034f6caad90da995312) Change-Id: I2e0f5eb2942830523b19d2596c50d0fba0fc9a1a Reviewed-on: http://gerrit.openafs.org/3248 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f5f3f9106a6b2b91ee1a9e22027f78f84d1d1dec Author: Jeffrey Altman Date: Tue Nov 2 16:16:20 2010 -0400 Windows: Do not leak cm_volume_t objects from the LRU queue During cm_volume_t object recycling the object is removed from the LRU to ensure that a single object is not recycled by multiple threads at the same time. Before cm_FindVolumeByName() exits the object must be re-inserted into the LRU if it is not present. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/3220 Reviewed-by: Derrick Brashear Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 862e29a98aee72918fc25e960556f732ba80522c) Change-Id: I11847718cb5321ff2b08850786cc147390040f42 Reviewed-on: http://gerrit.openafs.org/3246 Tested-by: Derrick Brashear commit c1157279a03172bb51b54ef8e955f35b184773ac Author: Derrick Brashear Date: Tue Oct 26 20:13:38 2010 -0400 RPM scripts should allow newbinary restart to restart add a mode where a newbinary restart can be used instead of condrestart to induce a restart. also, on upgrade, don't turn on the server RC script if it was previously manually disabled. Reviewed-on: http://gerrit.openafs.org/3163 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 812333c9a0d4722142d22186fe9b07b39fe6993b) Change-Id: I54e58a5bb2ae88bfd4518c248fc9d3377c0c0981 Reviewed-on: http://gerrit.openafs.org/3235 commit afcc5918ff41fa661a86f46f2c436d05e2abd616 Author: Derrick Brashear Date: Tue Nov 2 14:47:35 2010 -0400 rx mutex inversion fix as discovered by Benjamin Kaduk, we were usually holding rx_refcnt_mutex but briefly, and here we held it longer, and thus around acquiring freepktQ mutex. undo it by simply setting STATE_RESET sooner as newcall does. (cherry picked from commit d5ce8d19ace9b87816dd36663420136f5f2ad746) Change-Id: Ic4b13dcf09006d3c8171b63f254129fe202e7155 Reviewed-on: http://gerrit.openafs.org/3243 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2a85a613d58f1d944d4d93181fb8d3143554215a Author: Jeffrey Altman Date: Wed Sep 22 16:36:03 2010 -0700 Rx: protect rx_conn and rx_call refCount field with rx_refcnt_mutex Add a new global mutex rx_refcnt_mutex to protect the conn->refCount and call->refCount in place of relying upon the conn->conn_data_lock and the call->lock. This will relieve some lock contention with rx_ReceivePacket(). Reviewed-on: http://gerrit.openafs.org/2837 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5613ea60fc9431dbc87bc8ad6439f9b5af38af5c) Change-Id: Ie8e72b1c3d68e698048594b5ceddf90910fbc05e Reviewed-on: http://gerrit.openafs.org/3249 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f4c7651744a64c77688f28879cf67c17db2897ca Author: Derrick Brashear Date: Wed Oct 27 14:18:28 2010 -0400 viced don't double-print start time side effect: remove the version which breaks on 64 bit windows Reviewed-on: http://gerrit.openafs.org/3173 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9749e5284cb8915d5e9b886bd74f1580d5bff28c) Change-Id: I72975f54e7434f20fac32e4821801d43d13846ce Reviewed-on: http://gerrit.openafs.org/3242 Tested-by: BuildBot commit 6ce137b37627b349db5a8b1fdf0d9d2b61495070 Author: Jeffrey Altman Date: Wed Oct 27 14:25:10 2010 -0400 don't duplicate work of ctime_s on windows we use ctime_s for ctim'ing to a buffer. except we allocate an extra buffer. "uh" Reviewed-on: http://gerrit.openafs.org/3174 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 46cf6c8f365d25122c550b76be61a880d16f531b) Change-Id: If9b63e4d8a377bc23be07ab82f3dc73779d95fa1 Reviewed-on: http://gerrit.openafs.org/3241 Tested-by: BuildBot commit b127deeeb34ae898cf2ee08954ba76932acabeae Author: Rod Widdowson Date: Wed Oct 27 21:08:28 2010 +0200 windows: preserve lasterror prior to calling free free() destroys GetLastError, so preserve it before giving back all the buffers. Then if the create process failed we have something sensible to log. Reviewed-on: http://gerrit.openafs.org/3175 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e1ed8ab1d93906e1b556de332fa32601a9a489fc) Change-Id: I028a96a669fff3db48c05f2d894e9c6ef31fad12 Reviewed-on: http://gerrit.openafs.org/3240 Tested-by: BuildBot commit deed8d63348508a6bcbda49e64b73cfd41ce2199 Author: Rod Widdowson Date: Thu Oct 28 18:34:41 2010 +0100 Windows: fix built in touch Recent versions of windows add a whole bunch of attributes above A_ARCH. (FILE_ATTRIBUTE_NOT_CONTENT_INDEXED was what bit be but encryption of compression would do it). This makes ~_A_ARCH not a good choice for testing nonwritability of a file - so files with these new attributes just get silently ignored. Using an explicit mask is much better. So do that. Reviewed-on: http://gerrit.openafs.org/3182 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 68aace4054430105ceaf52ce8e316f3ae01e7dc8) Change-Id: Ia481b1b36dbecbeca5a9e69dbcd78b7a754f9cc9 Reviewed-on: http://gerrit.openafs.org/3239 Tested-by: BuildBot commit 1ceab26371030d94c5a837745ae2cebcbd81b93b Author: Marc Dionne Date: Tue Oct 26 20:33:41 2010 -0400 bucoord: parallel make fix Fix an instance of a Makefile rule with multiple targets. This can cause a parallel make to fail when two instances of compile_et compete to write the same output files. Spotted by a build failure with a corrupt bc.h header. Reviewed-on: http://gerrit.openafs.org/3165 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 0cc3cc9412c232e2ec799ee1f1a9a90f3e56ab66) Change-Id: I453e6eced8145a0b361ce4a54baf9f7411128d2f Reviewed-on: http://gerrit.openafs.org/3238 Tested-by: BuildBot commit 51363199a658c74fc9481cedbaf44bdddc4c8441 Author: Ben Kaduk Date: Thu Oct 28 22:45:33 2010 -0400 FBSD: fix dumb panic when we can't pfind rxk_Listener The process is only returned locked if the process is found. Don't try to unlock it if it's not found. Reviewed-on: http://gerrit.openafs.org/3186 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 832607318b9ad4ab38bb62515cdb4959cc21a656) Change-Id: Ic4274a4a5640166669714798b909b2efb3b84cdb Reviewed-on: http://gerrit.openafs.org/3237 Tested-by: BuildBot commit 01c6e73f988b3b9c811766657698726488914362 Author: Jeffrey Altman Date: Thu Oct 28 01:19:17 2010 -0400 Windows: Finish converting vol apps to pthread only The src/vol directory on Windows is one of the rare examples where a single directory builds both lwp and pthreaded versions of libraries and executables. With this patchset the executables are fully converted from lwp to pthread. This requires that afsrpc.dll include the pthread implementations of the threadname, fasttime, and lock implementations from the LWP directory. The inclusion within afsrpc.dll permits the dviced and dvolser directories to avoid rebuilding those object modules. Reviewed-on: http://gerrit.openafs.org/3181 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5fce5754cee4f466f99681fcd7f42e5735e9776d) Change-Id: I3b2215f017aae91a91e1a1955f34bf149679223b Reviewed-on: http://gerrit.openafs.org/3236 Tested-by: BuildBot commit ab4e008a3b357644c1f16ebc63ea2fae5270243c Author: Ben Kaduk Date: Fri Oct 29 12:01:04 2010 -0400 FBSD: lock interlock around v_usecount accesses The FreeBSD vnode locking strategy requires that the vnode interlock be held for all accesses to v_usecount, such as those used by our VREFCOUNT and VREFCOUNT_GT macros. Conveniently, a wrapper function is provided that takes the lock around its access of the element, vrefcnt(). Use it for our macros. Reviewed-on: http://gerrit.openafs.org/3195 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b6367aa84b9d1c7529b6f3a12bbfeacc91384ffb) Change-Id: I41ccb2b84347c4182d5b782faee176c9800d640a Reviewed-on: http://gerrit.openafs.org/3234 Tested-by: BuildBot commit 2e595e929fc679bd5eb82084e0a60d23fe9e827f Author: Ben Kaduk Date: Fri Oct 29 03:18:02 2010 -0400 FBSD: correct and simplify vcache eviction routines osi_VM_FlushVCache and osi_TryEvictVCache were both attempting to be wrappers around vgone(), with some checks before hand. Implement the latter in terms of the former to prevent code duplication and propagation of incorrect code. Additionally, correct the locking around vgone(). The vnode lock must be held, and we must also increase the vnode's hold count so that it does not disappear out from under us. As we need the interlock to check the usecount, keep it locked until we lock the vnode lock, for extra protection. As an added bonus, we no longer try to call vgonel(), which is not an exported symbol and merely happened to work due to the current kernel linker implementation. Remove some stale comments. With this change, a parallel buildworld completes on my four-core machine. Reviewed-on: http://gerrit.openafs.org/3196 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit aad83a30a82407bfa6ac15b49fd31d69b563e898) Change-Id: Ibf7f1744f0030c92b45b1558d7f5e52409208e60 Reviewed-on: http://gerrit.openafs.org/3233 Tested-by: BuildBot commit 9635188652022e0bc9d8d683f1335c1df1cf8033 Author: Rod Widdowson Date: Fri Oct 29 19:57:50 2010 +0100 QuickStart Unix: use dafs type and name for demand attach file services bos create dafs dafs [...] (not fs). Reviewed-on: http://gerrit.openafs.org/3197 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4f5cdd73f665434f531144151f9b6e1f4702cf02) Change-Id: I301f61e507ad5947a786709af907a99b91725021 Reviewed-on: http://gerrit.openafs.org/3232 Tested-by: BuildBot commit f4677a65312e92fc3a12b29efa6bbc174df563be Author: Phillip Moore Date: Tue Oct 19 11:31:47 2010 -0400 fs getfid defaults to '.', like other path-related commands I noticed that all of the other commands that accept a list of paths use the SetDotDefault() function to default to ".", when no arguments are given. This patch adds that call to getfid, making it more consistent with similar commands. Reviewed-on: http://gerrit.openafs.org/3008 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit c77ac5ce976b6f3e5a13a3f739ddbb6e32a177b1) Change-Id: I94ada76f835ccd01e2061034bd6585d6f1d5dccb Reviewed-on: http://gerrit.openafs.org/3231 commit 1739600c214d990b8d511d5bc6a1439316a7f153 Author: Phillip Moore Date: Tue Oct 19 11:23:46 2010 -0400 fs getfid output changed for consistency with Windows implementation This patch removes the redundant volume ID from the output of fs getfid, and replaces it with the cell name, which is what the Windows implementation provides. Reviewed-on: http://gerrit.openafs.org/3007 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit d390df097cac0fb7815c43e071040559612b6360) Change-Id: I930627e92672dd5012d5bca08d469f7fb7624be1 Reviewed-on: http://gerrit.openafs.org/3230 commit 7667610bfa2912e3d5cd9b37174d74c901dca75d Author: Phillip Moore Date: Tue Oct 19 08:24:41 2010 -0400 Makes fs getfid error handling consistent with other fs commands This patch makes the fs getfid command print errors for paths that can't be handled correctly, instead of quietly ignoring them, and it also returns an error code if any such paths are encountered. This makes the behavior consistent with other fs commands, such as listquota, whereis, etc. FIXES 128372 Reviewed-on: http://gerrit.openafs.org/3005 Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit b04a450df2e54a549f9c7e014016475fa566937b) Change-Id: I63ae7edeff59bcd264a371c3bfd71220da4b4a39 Reviewed-on: http://gerrit.openafs.org/3229 commit 3991cf2f0fcea26c3d766c54e1b8161226980841 Author: Phillip Moore Date: Tue Oct 19 12:17:20 2010 -0400 Fix fs bypassthreshold to accept a size of -1 to disable The fs bypassthreshold command assumes a value of -1 means the feature is disabled, but the CLI refused to accept this argument, since it is not strictly a digit (according ti isdigit()). This patch accepts the string -1, and makes it possible to both enable AND disable this feature. Reviewed-on: http://gerrit.openafs.org/3009 Reviewed-by: Matt Benjamin Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 1fa575c09ea7aa66e657b226465cb90dbba4af70) Change-Id: I0e748b513bcb97c436bd10c8a80222fc10fce08c Reviewed-on: http://gerrit.openafs.org/3228 commit 2d376fcf2684433310cc7e7cf4cf74343e5ead6c Author: Jason Edgecombe Date: Tue Oct 26 15:00:58 2010 -0400 Quickstart Guide: Add some verbiage about /vicepXX/AlwaysAttach Reviewed-on: http://gerrit.openafs.org/3158 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9c8d58cd93b98120a7ff31a90b3f9f0ef354a1bc) Change-Id: I11a6177257338520602e1cb6be029583e94c4b43 Reviewed-on: http://gerrit.openafs.org/3227 Tested-by: BuildBot commit 3ae4cf04c8f9faac49f234f633b24eff0388f4d1 Author: Marc Dionne Date: Fri Oct 29 16:23:07 2010 -0400 Linux: remove stale prototype and references for read_super The 2.6 code doesn't have an afs_read_super, so remove the prototype and the outdated comments that reference it. Reviewed-on: http://gerrit.openafs.org/3199 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a546fc1707bc32ecb71d42dd48f91eebe3876439) Change-Id: Id46c636faaf356bf6d7e08b4e22380f50e8dd944 Reviewed-on: http://gerrit.openafs.org/3226 commit 8110c2cb4435c2e287b5b4a362f38334f1b413ad Author: Derrick Brashear Date: Fri Oct 29 13:47:17 2010 -0400 kill off afs/debug.h as reported by Marc Dionne, debug.h was still redefinining assert() yeah, let's be done with that. (cherry picked from commit af0951f373224ce17b341bc5d227fdd5ea621762) Reviewed-on: http://gerrit.openafs.org/3194 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Change-Id: I2af9e1a54bd291f779b5380c0f45f9527e3c7cd8 Reviewed-on: http://gerrit.openafs.org/3225 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit c5b516c1cf5fa4627a293053e775b4ab1da5f44a Author: Andrew Deason Date: Mon Nov 1 17:30:20 2010 -0500 QSG: DAFS uses dasalvager For DAFS, you want to use 'dasalvager' not 'salvager'. One place was still referencing 'salvager' in a DAFS example, so fix it. Reviewed-on: http://gerrit.openafs.org/3217 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 81602ffa3b6d981ab96ca17d970e585b7be28e6d) Change-Id: I65f8e7816c8505cc2daddd4d646b65e6062cf686 Reviewed-on: http://gerrit.openafs.org/3224 commit ccc14955235dbf7d8f1244f6204aa34ba99a2d53 Author: Andrew Deason Date: Fri Jul 2 16:57:42 2010 -0500 DAFS: Fix demand-salvages of attached volumes Currently, when an error is encountered for an attached volume, we call VRequestSalvage_r, which makes the volume go into the VOL_STATE_SALVAGING state. This state implies that the volume is offline, however, which is not necessarily the case if we're calling VRequestSalvage_r from, for example, VAllocVnode_r or VUpdateVolume_r. So now, make a new state called VOL_STATE_SALVAGE_REQ to indicate when a salvage has been requested but the volume is not offline yet (and thus is not yet ready to give to the salvager). If VCheckSalvage finds a volume in this state, it offlines the volume first. The FSSYNC VOL_OFF handler now checks for this state, and if we're giving the volume to the salvager, we wait for the volume to exit that state. VRequestSalvage_r also gains a new flag, VOL_SALVAGE_NO_OFFLINE. This is to ensure that the existing salvaging code paths for unattached volumes does not change (for when VRequesetSalvage_r is called from attach2). If this flag is passed, we do what we used to do, which is just salvage the volume without offlining it. Reviewed-on: http://gerrit.openafs.org/2329 Tested-by: BuildBot Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 0aa7fac246ce044c757530ebe96d3a05c2f33894) Change-Id: I76db861c862789801d74578c4965a2bc41c2047b Reviewed-on: http://gerrit.openafs.org/3223 commit cab87d3f7b6686de7072eb166ccc7c5fe0f6536c Author: Chas Williams (CONTRACTOR) Date: Sat Oct 30 18:10:34 2010 -0400 afs: minor cleanup for LINUX struct vcache mapcnt is no longer used in either linux client and should be removed to save a little space/sanity. Reviewed-on: http://gerrit.openafs.org/3207 Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear (cherry picked from commit c120f5c9b64a1333f965125dcfc435e922b47356) Change-Id: I33e3f312ca07e9e2f7f5453495d6695a42e2cc19 Reviewed-on: http://gerrit.openafs.org/3222 Tested-by: BuildBot commit d45097f046aa62c9d479fda39927c450e6fdd551 Author: Jeffrey Altman Date: Thu Oct 28 00:37:03 2010 -0400 vol: attach2 must always return with VOL_LOCK held attach2() is required to return with the VOL_LOCK held even though it is called without it. This must be true for error conditions as well. Not all error paths are obtaining the VOL_LOCK before returning. Add out paths for lock held and lock unheld error cases. (cherry picked from commit 58901738ad6280d0777dd8e77f8c09cc45da04bc) Reviewed-on: http://gerrit.openafs.org/3177 Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Change-Id: I6918987cd784e4e550c2525b537bda290dbacae8 Reviewed-on: http://gerrit.openafs.org/3221 Tested-by: BuildBot Reviewed-by: Derrick Brashear commit a6a318c12cda5b7d8309a64f12ecab6bd879d8e8 Author: Jeffrey Altman Date: Thu Oct 14 17:24:33 2010 -0400 down with assert, up with osi_Assert because NDEBUG breaks things which happen inside an assert, be done with that. instead, call osi_Assert wherever possible. doesn't work for code which builds before rx; those cases we handle by ensuring no operations happen inside the assert(). side effect: move all pthread operations wrapped in asserts to MUTEX_mumble and CV_mumble calls where those exist, so the assertions happen all in one set of macroes. Change-Id: I449d0822a39554a1f45b5b509d70e093e7ceb690 Reviewed-on: http://gerrit.openafs.org/3171 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8c2d56f9e4a612af420450fac1cf0423dc2e4eca Author: Derrick Brashear Date: Fri Oct 15 16:09:27 2010 -0400 rename afs/assert.h to afs/afs_assert.h provide a private assert header which does not pollute the normal namespace for the assert header. further changes will modify pthread operations to not use generic assert as a "did it work", which breaks if NDEBUG is set (cherry picked from commit 78502b61b3e8b288ce6fec1f66d14d7e2431642a) Reviewed-on: http://gerrit.openafs.org/2995 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: Iac34946f9de773ea7489cd75edba220bca2158e3 Reviewed-on: http://gerrit.openafs.org/3172 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b58b1faf9210812c2c68b1fa69d98e765896c368 Author: Jeffrey Altman Date: Thu Oct 14 17:24:33 2010 -0400 Rx: use osi_Assert/osi_Panic instead of assert Avoid using the openafs src/util/assert.h implementation for Rx and Rx security classes. Use the built-in osi_Assert() and osi_Panic() functionality instead. This avoids all references to assert.h except for rx_pthread.c (Unix only) which requires it for the assert() references in the src/util/pthread_nosigs.h macros. Reviewed-on: http://gerrit.openafs.org/2987 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 3616cdc306f58f90be1cb4f524aa5720d8d638fe) Change-Id: I45f839aeba7d7611ab170f6c58cc30547a2e640f Reviewed-on: http://gerrit.openafs.org/3169 Tested-by: Derrick Brashear commit 8bb5b578789c71abcc199b1e88a7f18fabddeb05 Author: Jeffrey Altman Date: Mon Oct 11 15:00:08 2010 -0400 Windows: Cleanup build scripts; no include\afs or include\rx As part of the build system cleanup, minimize the number of directories in which include\afs and include\rx paths are included by default. To acheive this goal the windows openafs dirent.h is moved from include\afs to include, references whenever possible to openafs headers included in include\afs or include\rx are prefixed with afs\ or rx\ as appropriate. Some source files or directories have a broad range of interdependencies that make separation quite challenging. For those directories or files the inclusion of the path is added at the smallest possible level. At some point in the future the WINNT\afsd\ headers should be moved from include\afs to include\WINNT and should be installed there first and then referenced internally from that location instead of from the WINNT\afsd directory. That will permit further cleanup to be performed. Reviewed-on: http://gerrit.openafs.org/2961 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 091b6e19d14b8d7c7396496d050fff5d067791a9) Change-Id: I4f26ea2c3db67c164236dc84b78084822b562b95 Reviewed-on: http://gerrit.openafs.org/3167 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 44a052adfef139120ee588a23c1f342297e11334 Author: Derrick Brashear Date: Tue Oct 26 23:28:57 2010 -0400 make openafs 1.5.78 update version strings and such Change-Id: Ia3c8bff95ea72708d815d74a35a55d4348d560f2 Reviewed-on: http://gerrit.openafs.org/3168 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 867b3313a52b2c740f536bec47ad516160615aa5 Author: Jeffrey Altman Date: Mon Oct 25 22:58:51 2010 -0400 Windows: move debug break in afsd_notifier move the debug break before the cache dump occurs so that a debugger will be signalled faster when a panic condition occurs. Reviewed-on: http://gerrit.openafs.org/3147 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 1664a2642b56febc08af8f95250a6d64761a525f) Change-Id: I25a0eaaacb44555c1ddf5f538ef9c6792f6dac59 Reviewed-on: http://gerrit.openafs.org/3156 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dab406baf28c19710b4a451ae2516dfa1ebeee29 Author: Simon Wilkinson Date: Mon Oct 25 20:50:29 2010 +0100 rx: Fix starting of transmit timers The code used to start the transmit timer once for every set of packets that it sends. However, these packets might be sent individually or in clumps, with blocking for sendmsg, and on peer->lock, between each set of packet sends. This has the effect of, even on a very stable network, producing a high degree of variation in RTTs and timeouts. This is a particular issue where the connection size is larger, as the number of packets being sent individually under the one timer grows too. Fix this by moving timer initialisation to SendList. This already takes the peer lock, so obtain the timeout value here too. This means that each jumbo gram, or individual packet (where jumbograms are disabled) is sent with its own start time, and stabilises RTTs. (cherry picked from commit e7066a9c30047e787d72f02dd1c28e5e473e494b) Reviewed-on: http://gerrit.openafs.org/3137 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: I64edd961e7e9cd615e07cc3f32d9bf71f74c8c8e Reviewed-on: http://gerrit.openafs.org/3155 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 712f43ebda08d2fe10e3f026f89085f1cb6a29ab Author: Simon Wilkinson Date: Mon Oct 25 10:14:12 2010 +0100 rx: Don't let timeouts force fast recovery The current RX implementation goes into fast recovery whenever a timeout occurs. This is incredibly wasteful, particularly on fast connections. So, remove this in favour of TCP style behaviour. (cherry picked from commit 36e2d13b55085c996d38b30d003296c602ef8ee3) Reviewed-on: http://gerrit.openafs.org/3138 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear Change-Id: I43102ffc961d33255c995f4ff84142b7203cd11b Reviewed-on: http://gerrit.openafs.org/3154 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 81aacd67095cbcac6a05d7c2f34c8b053f8478f7 Author: Simon Wilkinson Date: Mon Oct 25 09:52:10 2010 +0100 rx: Refactor transmit queue wakeup Refactor all of the places where we wake up the transmit queue into a common helper function. Reviewed-on: http://gerrit.openafs.org/3136 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 802d50bc4e220b9bf404ac1ee36720023986d98e) Change-Id: I4db12f228e5f10f7ab4a68604828823f6b783677 Reviewed-on: http://gerrit.openafs.org/3153 commit 7c17aa2eb0e9c6c42b49f4d617e17aaff2cea7c6 Author: Jeffrey Altman Date: Mon Oct 25 23:05:00 2010 -0400 Windows: Fix math error in rx_Writev processing LICENSE MIT Reviewed-on: http://gerrit.openafs.org/3148 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit e848f3c2160745228e0f770f8daf4fffcca7507a) Change-Id: I5f31ae8500ace8e5a95f21510cb7c3eaae547aee Reviewed-on: http://gerrit.openafs.org/3152 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7399b74d8b0a25cb4d75ef50a0f50383f35351f5 Author: Jeffrey Altman Date: Sun Oct 17 00:35:36 2010 -0400 Windows: Use rx_Readv / rx_Writev When USE_RX_IOVEC is defined, cm_BufWrite() will utilize rx_Writev() instead of rx_Write() and cm_GetBuffer() will use rx_Readv() instead of rx_Read() to improve throughput. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/2999 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit e356090ba21395e110b8a403a5efaf725ca3ffc8) Change-Id: I0afb35343d111fd32c0ee65d8ab976a65c27e1a5 Reviewed-on: http://gerrit.openafs.org/3151 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 68ad359ac24ff75157f8a118d22ce14f7e8fa717 Author: Chas Williams (CONTRACTOR) Date: Fri Oct 1 09:58:52 2010 -0400 rename some variables in rxperf sendtimes and recvtimes are actually the data byte counts to be exchanged during an rpc test not an iteration count as implied by their names Reviewed-on: http://gerrit.openafs.org/2876 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9d912b6f1c4f3d242429c66291107b2badd166e4) Change-Id: Ie18184f5d6d911ba18ad216cb3726378333f6213 Reviewed-on: http://gerrit.openafs.org/3036 commit 1a3cae13171830aa681814aa150851475ad5e555 Author: Jeffrey Altman Date: Mon Jun 14 09:43:31 2010 -0400 Windows: register idle dead timeout error be like the unix cache manager and set an error code so idle dead time is enforced on sending. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/3033 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit f943a4eb524434d25ecf99cba0843ded13aef176) Change-Id: I8ede65aef843af358455126301067d0b889ae9a8 Reviewed-on: http://gerrit.openafs.org/3143 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit cc76c31402ed1f8a884f7e8c630371520bd34574 Author: Asanka C. Herath Date: Mon Oct 18 04:52:34 2010 -0400 Windows: Backup and restore configuration across installs The MSI installer for OpenAFS does not preserve configuration data across installs. This patch creates a backup of specific configuration registry values when uninstalling OpenAFS and uses this backup when subsequently installing OpenAFS. Reviewed-on: http://gerrit.openafs.org/2977 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 1418b4fec23459aafec4b5a787e2c2b89f6af1f1) Change-Id: I4eab1a4a3ea33bdcd7ccb27aea0927eed16892ca Reviewed-on: http://gerrit.openafs.org/3142 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 25e962d334f30656bf3a70cdf32dae2911fb7c5f Author: Jeffrey Altman Date: Sat Oct 23 15:45:36 2010 -0400 Windows: Make Rx PMTU discovery configurable; disable by default Disable PMTU discovery by default. Permit it to be enabled with the RxPMTUDiscovery TransarcAFSDaemon\Parameter value. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/3032 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 2c12b80a4fdb8323ff3fdd194ff1994ad0a0b8e1) Change-Id: Ic5b3d8e267bc10ee1802e5c391f87d37d605bec9 Reviewed-on: http://gerrit.openafs.org/3141 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ebe41ce107fe5b8ad185d247a2632384071d34ec Author: Simon Wilkinson Date: Sat Oct 23 15:07:42 2010 +0100 rx: Tidy up variables in RTT calc We used to do rttp = &thisRtt, and then use rttp and thisRtt to interchangably refer to the same data. This is just confusing, and unnecessary. Replace all of the occurences of rttp with &thisRtt. Take the opportunity to use the Clock_IsZero macro rather than doing an explicit zero clock check. Reviewed-on: http://gerrit.openafs.org/3031 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 58e7b85ab7c3c839c5dd126bd1c254f68a16b73a) Change-Id: If2ad45645bc27af3a8ecd97f047b5558c73b173d Reviewed-on: http://gerrit.openafs.org/3144 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 174020545f4539b2174200e1544bd0daa797e35b Author: Simon Wilkinson Date: Sat Oct 23 15:16:17 2010 +0100 rx: Fix bracing on rx_clock macro arguments Add brackets around the arguments in the clock helper macros, so that these can be called with more complex parameters. Reviewed-on: http://gerrit.openafs.org/3030 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit da18ca41751b43576f6652a16f69260e0c6ac0d6) Change-Id: Ie560d081e160ec1518c6d3fd307455ae8d219651 Reviewed-on: http://gerrit.openafs.org/3128 Tested-by: Derrick Brashear commit 4463034235ff875f59966a61261dc904a92004dc Author: Simon Wilkinson Date: Sat Oct 23 14:51:56 2010 +0100 rx: More improvments to RTT calculation Move the decision about whether a packet contributes to the peer's rount trip time into the CalculateRoundTripTime function, and improve the criteria used. Previously, we only computed the RTT if we had not retransmitted. This is bad, because it means that places where we have backed off in order to retransmit never actually lengthen the RTT, and so the RTT is kept artificially low, and we see a large number of retransmits. Instead, use the serial of the ACK packet to determine which transmission is being acknowledged, and if it is the first, or the last, transmission use the appropriate sent time to calculate the RTT. If we have no serial in the ACK (for a delayed ack, for example), or if the serial doesn't match (where a single acknowledgement is soft acking a number of packets), fall back to only using the ack if the packet has not be retransmitted. Also, avoid multiple counting of packets which have arrived as part of a jumbogram by only permitting the last packet in a jumbogram to contribute to the RTT. This avoids giving the RTT of jumbograms more weight than those of normal packets - doing so would pull down the RTT, as it in effect favours packets which have not be retransmitted. Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 290495fab1b2a8f1dc842cb2dd6de2d9922169c6) Change-Id: I13fef02ad3c456614cd71227e6a0ae8b4a3f5c72 Reviewed-on: http://gerrit.openafs.org/3127 Tested-by: Derrick Brashear commit e339f372a22d1d4586539bacdf60cf8bc8f0ec47 Author: Jeffrey Altman Date: Thu Oct 21 14:13:03 2010 -0400 Rx: Treat rx_minPeerTimeout not as a minimum but as padding An improved RTT and timeout calculation algorithm is being developed but until we have it, treat rx_minPeerTimeout not as a minimum value for the timeout but as padding to be added to the measured RTT when computing the peer timeout value. With this change rx does not begin to send large numbers of resends when the RTT begins to exceed the rx_minPeerTimeout value. Timeout triggered resends at the moment can force rx into fast recovery mode which in turn kills performance. It is better to avoid that problem for now. Reviewed-on: http://gerrit.openafs.org/3026 Reviewed-by: Derrick Brashear Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 5c8981e0404287f2aa46390d3a9e8a52261906ab) Change-Id: I82cf73cc8153d9aba669dc581231a88949b6ec4d Reviewed-on: http://gerrit.openafs.org/3126 Tested-by: Derrick Brashear commit 30308fd6e4f6f142ccfde96bc69348bca6574847 Author: Jeffrey Altman Date: Thu Oct 21 14:23:18 2010 -0400 Rx: Fix socket() handling so errors are properly detected socket() returns an osi_socket which on Windows is an unsigned type (HANDLE). Therefore, tests of osi_socket < 0 will never identify when the INVALID_SOCKET value is returned. On Windows, the OSI_NULLSOCKET is assigned to INVALID_SOCKET. Replace all comparisons of (osi_socket < 0) with (osi_socket == OSI_NULLSOCKET) as a means of detecting errors. In addition, do not pass socket() the protocol value 0 when IPPROTO_UDP is what is desired. Finally, perror() on Windows never reports any error from Winsock. perror() is a CRT function. To get the real socket error WSAGetLastError() must be called and its value be written to stderr. Reviewed-on: http://gerrit.openafs.org/3027 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit c8f47626e2428449bfb64844e46fe5ad6b8e0f1c) Change-Id: Ib9aada7b549e661eaf965747011ffbe85e306d4d Reviewed-on: http://gerrit.openafs.org/3125 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 72bda3acbc2f610deebddeeec3a152691f028aa4 Author: Charles Hannum Date: Fri Oct 22 14:50:56 2010 -0400 linux fh_to_dentry can return err handle e.g. ESTALE from fh_to_dentry (in this case via d_obtain_alias and fat_fh_to_dentry) so we print a meaningful error when we lose. Reviewed-on: http://gerrit.openafs.org/3028 Reviewed-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 046f230ed4dde4c31d849893eec750437135342e) Change-Id: I5c3084346631e4f07987d1dab2b1b891dbefbda0 Reviewed-on: http://gerrit.openafs.org/3124 commit 7d53e9694247b34f6a462390a5ecb2b82c0b26c6 Author: Jeffrey Altman Date: Thu Oct 21 14:09:53 2010 -0400 Windows: Fix i386_w2k and i386_nt40 path construction Now that DEST and OBJ are defined in terms of AFSROOT do not DESTDIR and OJT in terms of AFSROOT. Reviewed-on: http://gerrit.openafs.org/3025 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 6f3938e80a79a4a3684565a6960bce18e167aea4) Change-Id: I4f084faaa5e058bb16045552135c70ac0a1683d3 Reviewed-on: http://gerrit.openafs.org/3122 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bf3009f3bc54823734752b579b6c75d1dc00c792 Author: Jeffrey Altman Date: Wed Oct 20 19:35:10 2010 -0400 Windows: Improve cm_SyncOpDone logging Reviewed-on: http://gerrit.openafs.org/3022 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 64f732764cab7387943647285d5e5203f0c74218) Change-Id: I5345fe5912afb7b41f7c27f12b3df3862f04a5de Reviewed-on: http://gerrit.openafs.org/3121 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 77c1b49eb65c83c30a16c1a68465c4abe1ec5261 Author: Jeffrey Altman Date: Wed Oct 20 19:31:19 2010 -0400 Windows: remove unnecessary prototype from smb.c Remove rx_StartClientThread() prototype. Reviewed-on: http://gerrit.openafs.org/3021 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 5880a576273c3b5f7683937df42bacf506007ba2) Change-Id: I0b61600b48239fbd30d8e8a13cc73fe33e4fe5df Reviewed-on: http://gerrit.openafs.org/3120 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8cfae7b20afc97b0136149305aa788acea933371 Author: Jeffrey Altman Date: Wed Oct 20 19:29:32 2010 -0400 Windows: optimize cm_BkgDaemon() In cm_BkgDaemon test for CM_SCACHEFLAG_DATASTORING before cm_ServerAvailable() in order to avoid unnecessary work. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/3020 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 49e57b8c3b5e13f7ce48c6be5677827d970df5fa) Change-Id: Ib33babf87605c8f93ee87e8f7c8084e213eedbc4 Reviewed-on: http://gerrit.openafs.org/3119 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 63ffaff799af046a6f68bc1cf12a145638278341 Author: Jeffrey Altman Date: Wed Oct 20 19:28:26 2010 -0400 Windows: remove warnings from cm_daemon.c Properly cast void * to long and int to LPVOID to avoid warnings. Reviewed-on: http://gerrit.openafs.org/3019 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit dd01970f440cc68fbd71a1544ee655131f42be51) Change-Id: If6743a5b341f40f42955638d5e2f09b3cb24924f Reviewed-on: http://gerrit.openafs.org/3118 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 650e41f75a28cb93301e46ca5d6ae74156f5b80b Author: Jeffrey Altman Date: Wed Oct 20 19:26:06 2010 -0400 Windows: prototype cm_PerformanceTuningInit() Reviewed-on: http://gerrit.openafs.org/3018 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit bc810f4ac04fb6385e57d235f976d3f42f83e28a) Change-Id: Ib328db77b9783e3d6ecae3d719c8e85952b10488 Reviewed-on: http://gerrit.openafs.org/3117 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d0958b07d30c0627e26f105a0f6f65b286af1186 Author: Jeffrey Altman Date: Wed Oct 20 19:25:00 2010 -0400 Rx: prototype rx_StateClienThread() Reviewed-on: http://gerrit.openafs.org/3017 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 3f2f327df4d8cbac927e290d03d78611f7b12a69) Change-Id: I04ef0f93571ca450adf4e1b33268cf9c100822b9 Reviewed-on: http://gerrit.openafs.org/3116 Tested-by: Derrick Brashear commit e9610e23af9eeabbd43bd894e229c0d7e42fcf5d Author: Jeffrey Altman Date: Wed Oct 20 19:23:11 2010 -0400 Rx: rx_stats_active not RXDEBUG In rx_StatsOnOff() the assignment to rx_stats_active should not be protected by RXDEBUG. Reviewed-on: http://gerrit.openafs.org/3016 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 929ca25d6d3fef07ea7c103dcd43a2658cdf71bd) Change-Id: Id8bc93ec669333e8016d0958eb5c0fd87b76d9e0 Reviewed-on: http://gerrit.openafs.org/3115 Tested-by: Derrick Brashear commit 5396d713327509d8bbf413be3db1c7da60f097e7 Author: Chas Williams (CONTRACTOR) Date: Wed Oct 20 09:06:35 2010 -0400 rx: remove spurious compare for maxDgramPackets maxDgramPackets is initially assigned this value after correcting for the wire endian. This compare is harmless on little endian since the network endian value will typically be huge and redundant on big endian machines. Reviewed-on: http://gerrit.openafs.org/3015 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit da400a24a7c9d5ac1595f10e0c76df5a461aa5dc) Change-Id: I3e8c77e30021055192951765bb823b635775e128 Reviewed-on: http://gerrit.openafs.org/3114 Tested-by: Derrick Brashear commit 05a7177c91570f40c5812aa1904b554f6478c5a5 Author: Simon Wilkinson Date: Mon Oct 11 13:25:38 2010 -0400 rx: Simplify round trip time calculation Move the logic for deciding whether to compute RTT out of PeerNetStats and into the callers. This means that we can share decisions about whether a packet is ACK'd or not, and avoid uneccessary multiple tests and function calls. This change also stops us from computing RTT times for packets outside of the set of explicit ACKs that we have received. This means that we no longer compute RTTs for packets that are on the transmit queue, but not yet on the wire. Reviewed-on: http://gerrit.openafs.org/2960 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit f7799a35c5942ba4feda3bc8c848cdaa8e0b7b76) Change-Id: Idf4ba83ba187fd97caa85d0d042662c3b12efa02 Reviewed-on: http://gerrit.openafs.org/3113 commit bda8dca6f7d04cb8bcb069fa1517213deb3cda1c Author: Jeffrey Altman Date: Sat Oct 16 13:14:03 2010 -0400 Rx: Do not compute RTT on non-last packets of a jumbogram A jumbogram is constructed as a series of rx packets that are all sent at once and acknowledged at the same time. Computing the RTT for all of the packets that makes up the jumbogram provides the jumbogram RTT more weight than for a non-jumbogram packet. To restore fairness, only compute the RTT for the last packet of a jumbogram. The non-last packets with have the RX_JUMBO_PACKET flag set in the packet header. Reviewed-on: http://gerrit.openafs.org/2997 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 525ea8b60cc198f7e12da7a1aaffdcad2bb3ef21) Change-Id: Ide4c225516dc7585b49ba7b244b56446297c74d1 Reviewed-on: http://gerrit.openafs.org/3112 commit 9de921860a70e5599aff895ba6bb7581cef3362f Author: Simon Wilkinson Date: Mon Oct 11 13:14:02 2010 -0400 Rx: Reject out of order ACK packets Our RX implementation virtually guarantees that we will see out of order ACK packets, even on well behaved networks, as we send acks simultaneously from multiple threads. Currently we only reject out-of-order ACKS which change the window position (so a window that advances, can never go back). However, we fail to deal with the explicit acknowledgement portion of the ACK packet in the same way... For example, if we have a packet A that acknowledges packets 1 and 2, and then a packet B acknowledging 1,2,3 and 4. If B arrives before A, then we mark 1, 2, 3, 4 as acknowledged, and then treat the arrival of A as nAcking 3 and 4. This has the same effect as an explicitly stated nack, triggers an early and unnecessary resend and may, in some situations, cause the call to go into congestion avoidance. We can solve this using the previousPacket field of the ACK. This indicates the last packet seen by the peer. In the same way as firstPacket, this should never go backwards, and so can be used to detect out of order acknowledgements, and reject them. Reviewed-on: http://gerrit.openafs.org/2958 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit 4e71409fe1305cde4b9b341247ba658d8d24f4d0) Change-Id: Idc064d5950b4235a303a933d046546b67add6623 Reviewed-on: http://gerrit.openafs.org/3111 commit 68758ed3d63ecd95f19d482b034d82cd29d267a6 Author: Derrick Brashear Date: Thu Oct 7 13:41:22 2010 -0400 shakeloosevcaches drop xvcache during dentry ops denote that we slept and drop xvcache while doing dentry flushing. Reviewed-on: http://gerrit.openafs.org/2944 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 98688ddf70cbfe21d22e5832b2f50d626b4183e9) Change-Id: I6db42ba9cb1614fd86616d6b425f821c3199620c Reviewed-on: http://gerrit.openafs.org/3110 commit e88096d63177ba00e2dc75ef3cbc88ecb5ba8f0a Author: Andrew Deason Date: Fri Oct 15 16:35:32 2010 -0500 pts: Specifically check for group id 0 For consistency with the code checking user ids in createuser, check for a specified group id of 0 specifically and give a slightly different error message for it. Reviewed-on: http://gerrit.openafs.org/2994 Reviewed-by: Phillip Moore Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 5e9676144bc3d9b186495a06d14581a4fc97beff) Change-Id: I37434f1ad44ed1fad41cf454291c91e0b046ec80 Reviewed-on: http://gerrit.openafs.org/3109 Tested-by: Derrick Brashear commit f14f8d45bcf3181f08971e6ed8d54bff48bbafe6 Author: Andrew Deason Date: Fri Oct 15 16:37:55 2010 -0500 pts: Prevent creating negative user ids User ids cannot be negative (those are groups). So, error out if a negative id is specified for createuser. FIXES 128343 Reviewed-on: http://gerrit.openafs.org/2993 Tested-by: Andrew Deason Reviewed-by: Phillip Moore Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit ebfc586fd2d00085a384763cc519c2af6ce5223e) Change-Id: I6a107dc5a1a6d98823f5377657856ca41566cb2b Reviewed-on: http://gerrit.openafs.org/3108 Tested-by: Derrick Brashear commit 28f65219b409136e0bc66358f5711b32277baad2 Author: Russ Allbery Date: Thu Oct 14 13:41:45 2010 -0700 Return SRV record ports in network byte order Convert the port extracted from the SRV record return to network byte order before assigning it to the port array. The port in a SRV record is extracted by pulling out the high byte and low byte and then mathematically combining them, which implicity converts from network byte order to host byte order. However, the callers of afsconf_LookupServer expect the port array to be returned in network byte order since ports are assigned without modification to the .sin_port field of a struct sockaddr_in. See also the byte order of the default afsdbPort value. Reported by Jan Christoph Nordholz (Debian Bug#600228). Reviewed-on: http://gerrit.openafs.org/2985 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit ffe445483a07c751202a1ef06136f70402ec895d) Change-Id: I918ed4acdcfecbe1f879746d80b501714f1e775f Reviewed-on: http://gerrit.openafs.org/3107 Tested-by: Derrick Brashear commit e3f8208e33c20713b8d0f61aa6af8f4dd96c359e Author: Derrick Brashear Date: Tue Oct 12 09:05:24 2010 -0400 OSX prefspane use Kerberos Preferences for defaults if we have forwardable tickets, e.g., as a pref, get those. and so on. this way tickets AFS got are not "Weird" Reviewed-on: http://gerrit.openafs.org/2965 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 0adb2d758c23e1c02d5894d2c534b685999d821c) Change-Id: I76449230243425c7f14df5ff9795bcdc3076fbdb Reviewed-on: http://gerrit.openafs.org/3106 commit 5728523ec8647d4e9ced717b5a79f34a670cd7c4 Author: Marc Dionne Date: Wed Oct 13 19:11:25 2010 -0400 Linux: fix statfs configure test The change to the statfs configure test that was made for 2.6.36 broke the test for older kernels. The new test is based on a call, and that will generate a warning but not an error when the arguments don't match the prototype. Take another tack, and revert to the old style test, but with the simple_statfs function instead of vfs_statfs. Reviewed-on: http://gerrit.openafs.org/2975 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 59927e20052c3f075e0269e46691bc94c3974f86) Change-Id: I0f4c548d450b3c1019ff9c013edbc967cafe6c24 Reviewed-on: http://gerrit.openafs.org/3105 Tested-by: Derrick Brashear commit 072c481194426d26b6d9f5ade108e6b3eff560d0 Author: Andrew Deason Date: Wed Oct 13 11:27:03 2010 -0500 LINUX: old kernel warning fixes - osi_vfsop.c: struct super_block, not superblock - osi_vnodeops.c: initialize bypasscache Reviewed-on: http://gerrit.openafs.org/2973 Reviewed-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ba96ebba7197420b1511bd1aae9db495398e038a) Change-Id: I3c98809bf8763c03a6f1c27e7ebe68ddb8ad1318 Reviewed-on: http://gerrit.openafs.org/3104 commit badfd710f7ae960a7b2e88b2cb80a2ef2aff4c8e Author: Tom Keiser Date: Wed Oct 13 01:10:09 2010 -0400 don't release Volume lightweight ref too early FSYNC_com_VolOff was releasing its lightweight ref before the error handling code for VGetVolumeByVp_r was executed; this code needs to dereference the Volume pointer for some of its logic. This was unsafe since VCancelReservation_r() could have resulted in the Volume object being freed. Move VCancelReservation_r() below the error handling block. NB: the error handling block now relies upon the goto done/deny to cancel its lightweight ref. Reviewed-on: http://gerrit.openafs.org/2968 Tested-by: BuildBot Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit a91da7a7b91ce0c4584092cd666eca89d39b8abf) Change-Id: Ie84351628fd112aa1724180a08dba10f0903a016 Reviewed-on: http://gerrit.openafs.org/3103 commit fb8a2049e355dc9a4cd6e7264a2d18d61447e2af Author: Simon Wilkinson Date: Sun Oct 10 08:04:41 2010 -0400 rx: Don't malloc the xmit list Building the transmit list happens in a time critical section of code. Using malloc to allocate the list which holds the packets to be transmitted slows down this critical section. Instead, just allocate the space as part of the call structure. Locking of xmitList is somewhat tricksy, as the call->lock is dropped over calls to sendmsg(). However, the xmitList is protected by the TQ_BUSY call flag, which prevents multiple threads from usign the transmit queue, and hence the xmitList, simultaneously. Reviewed-on: http://gerrit.openafs.org/2957 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 09aec1539dbe4e4c72ec7acadf2d25e6f93c5982) Change-Id: I589fa248a124a15248e23b6154e193e4d136fde8 Reviewed-on: http://gerrit.openafs.org/3102 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b740896e826b92b2678d1a21ec65f7911a384ce4 Author: Jeffrey Altman Date: Sun Sep 19 10:46:34 2010 -0700 Rx: Permit ADAPT_WINDOW code to build Add missing fields to rx data structures. Update variable references. Reviewed-on: http://gerrit.openafs.org/2783 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit be91260047627fb4fffeeed73c7f24c80448c673) Change-Id: I2f5db5cc88919e61d09d5d1dbbb2679c0b9d1415 Reviewed-on: http://gerrit.openafs.org/3101 commit 8d2dbb7a96ed41885dfdb90d672168fd41a31713 Author: Andrew Deason Date: Fri Oct 8 11:51:30 2010 -0500 RX: Force sane timeout values Currently we do not check the specified timeout values when someone changes a connection's dead, idle, or hard dead time. However, if the conn's dead time is larger than the other two times, a loss of network activity will result in one of the other timeouts getting triggered first. To prevent this and possibly other problems from happening, force a connection's timeouts to always obey the relationship secondsUntilDead <= idleDeadTime <= hardDeadTime, by checking these values whenever they are changed. Change-Id: Ib9a0c65d91b4dc61c8d00381c8266b88b1d89b81 Reviewed-on: http://gerrit.openafs.org/2947 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 7d6080a841ff8c91052fa708d5be3b582f8a971d) Reviewed-on: http://gerrit.openafs.org/3065 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 487dabb1b0ff41dd5bee0800c153248347fb723c Author: Andrew Deason Date: Wed Oct 6 17:24:02 2010 -0500 RX: Adjust all timeouts for RTT Previously only the deadTime RX network timeout was getting adjusted for the peer's rtt and rtt_dev values. Do this for the idle and hard timeouts as well, since a higher RTT is going to make everything potentially take longer. Reviewed-on: http://gerrit.openafs.org/2967 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 48aca4a605fa46b677a50687d6ea911fbe7d2032) Change-Id: I1496e5bff75deeb1210eac6fba8a9a7fe70c6e5f Reviewed-on: http://gerrit.openafs.org/3064 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 189b0b1ef2044d4212bbdb3f5a40dfdcde132ed6 Author: Tom Keiser Date: Wed Oct 13 02:15:36 2010 -0400 update fssync-debug to handle the VOL_LOCKED flag Allow fssync-debug to dump the VOL_LOCKED flag, rather than the current behavior of printing absolutely nothing when this flag is asserted. In addition, increase the flag buffer size since it turns out we would truncate if all nine flags were asserted at once. Reviewed-on: http://gerrit.openafs.org/2971 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 198447ee71ca6510b760141395af5002daab2424) Change-Id: Ia0ef7444577a8fb6480302a080397ee8674245cd Reviewed-on: http://gerrit.openafs.org/3063 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9370454d45116111ec760a1c0fae4f55daace70c Author: Tom Keiser Date: Wed Oct 13 01:27:56 2010 -0400 trailing commas make xlc a sad panda IBM VAC xlc_r throws parse errors when enumeration definitions have trailing commas; let's avoid that. Reviewed-on: http://gerrit.openafs.org/2970 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 9577ec85c967ce4eb0c5a5ab45761a25da30038a) Change-Id: Idbd4e6521246e5f7133b4582181af856f0acc530 Reviewed-on: http://gerrit.openafs.org/3062 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 30957b0c37f7a52c8c893bcd9ee5dcbec41a7370 Author: Chas Williams (CONTRACTOR) Date: Thu Oct 7 11:05:50 2010 -0400 Use bigger I/O sizes for the memcache There doesn't seem to be a need to limit the rx message size when using rx_WritevAlloc. If there arent enough rx buffers to hold the entire message at once, it will simply return less space. Reviewed-on: http://gerrit.openafs.org/2943 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 6880d4a3a227f6c05332ef799123e0a05b190aa9) Change-Id: I3d6ef65eeff2e59d662cd7f406bd5b8c1d3b11c6 Reviewed-on: http://gerrit.openafs.org/3061 commit 86eeef8dd6ea6b52608535902c6d7f7a6761763e Author: Andrew Deason Date: Thu Oct 7 11:04:04 2010 -0500 LINUX: Build fixes for older kernels Error and warning fixes for older kernels in osi_compat.h: - In afs_posix_test_lock, remove the assignment in the conditional to silence a warning - Call getsockopt for kernel_getsockopt, instead of setsockopt - Missing end brace in afs_try_to_freeze - Prototype find_exported_dentry, since Linux doesn't give us one Reviewed-on: http://gerrit.openafs.org/2946 Tested-by: Andrew Deason Reviewed-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e279ae77a7e9babcace78b67c40ccc959161d77a) Change-Id: If61e12ea02d90980f2ec4b9503a26aff841161f6 Reviewed-on: http://gerrit.openafs.org/3060 commit 429c364e8c9e33eef8edab0c144c10105efac3f8 Author: Simon Wilkinson Date: Tue Oct 5 21:21:38 2010 +0100 rx: Don't call gettimeofday for every packet ack Every time we receive an ACK packet, we call gettimeofday() for every entry in the transmit queue that's permanently ack'd by that packet. Instead, just make a note of the time when we start processing the packet queue, and use it for every packet in the queue. This shaves around 5% off rxperf's runtime with a window size of 128. Reviewed-on: http://gerrit.openafs.org/2956 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit e16d7b7d6a6980fbda3186a578fb7e26fc334194) Change-Id: Ib77ea09f2b2334ccae269a5e24519cd8b0f0875a Reviewed-on: http://gerrit.openafs.org/3059 Tested-by: Derrick Brashear commit 6edebf1d04350c082c4ededc168fbd69142eed56 Author: Simon Wilkinson Date: Mon Oct 11 15:15:04 2010 -0400 Fix rxperf includes Don't use raw includes for "rx.h" and friends - instead include them from the appropriate place in our include tree. Reviewed-on: http://gerrit.openafs.org/2962 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit e95c8eaaf53dee68fe4db14acc0385a6bb84b992) Change-Id: Ieb534d407635e79d181156f7fa6c70b6b8477e93 Reviewed-on: http://gerrit.openafs.org/3058 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit efb46988c070bed9e558990a45bc7ffdeb35f79b Author: Jeffrey Altman Date: Sat Oct 9 03:06:07 2010 -0400 Windows: Do not issue RXAFS change RPCs on known RO volumes If the cm_scache_t is known to be on a RO volume, do not permit RXAFS_xxx RPCs that would attempt to make a change to the volume to be issued to the file server. Instead, return CM_ERROR_READONLY immediately. This avoids triggering the abort threshold for the current connection on the file server. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/2950 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 7f742f45a2aaa9dcb400aa1dc35ce617876fe7fd) Change-Id: I7e58f35956be8f1acd4ebfbd407ddde6b8bcb136 Reviewed-on: http://gerrit.openafs.org/3057 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d89a0dec2ae7d37c948c625367a144b82e1734d4 Author: Phillip Moore Date: Thu Oct 7 19:25:09 2010 -0400 Extract the .version file when building the srpm file If you are building the source and binary rpms from a released tarball, instead of a real git repo, the .version file is required by build-tools/git-version. With out this, the version defaults to UNKNOWN, and although the source rpm will build, it won't compile. Reviewed-on: http://gerrit.openafs.org/2948 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a2888f6d405150933bc31d1470ca2426bdf77c50) Change-Id: I2443cced5105a0e31ffe04c156370b75e06ced97 Reviewed-on: http://gerrit.openafs.org/3056 Tested-by: Derrick Brashear commit f25752c7ad40829de2c55a6009be55464f284737 Author: Ben Kaduk Date: Fri Oct 8 00:20:57 2010 -0400 Revert "FBSD: in lookup, when ISDOTDOT, unlock dvp" This reverts commit 96e433aebdd5699f02c205df2cce38927cd19a88. It was not properly tested, fails to compile on some systems, and destabilizes the client. Reviewed-on: http://gerrit.openafs.org/2951 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 50b99f85cae778ab270590d1282fd9d84a0e6ca3) Change-Id: Ifde4220ea5f2f987b8e6f1fd3e4ba3ee93e31c8c Reviewed-on: http://gerrit.openafs.org/3055 commit 812fdcb982e05ade3507d2e72a006108e9dacd7d Author: Phillip Moore Date: Tue Oct 5 16:10:19 2010 -0400 Added missing CLI argument dropped during last commit. Oops -- when removing the -cell arguments to the bos commands, the "admin" username argument to "bos adduser" was mistakenly removed as well. Reviewed-on: http://gerrit.openafs.org/2940 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f1a0239fba5855c5fed418f057bd5397d412e907) Change-Id: Ib28e6f6ce9cced9d44cfccbb02c10289acd818e1 Reviewed-on: http://gerrit.openafs.org/3054 commit 8ef28051b242ec22121550a167e59964bc0a23ca Author: Ben Kaduk Date: Tue Oct 5 23:30:35 2010 -0400 FBSD: in lookup, when ISDOTDOT, unlock dvp Keeping dvp locked when vp is its parent can lead to deadlock. Always unlock dvp, not just for 6 and earlier. Reviewed-on: http://gerrit.openafs.org/2942 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c2ed2577f9c16df3088158fb593d7aab6e8690d0) Change-Id: I4479a8941b8c53aed1949134e171133d338919bb Reviewed-on: http://gerrit.openafs.org/3053 commit da73496ba698ee2cc3c008775622014278d07739 Author: Jeffrey Altman Date: Tue Oct 5 11:32:05 2010 -0400 Windows: do not leak cm_volume_t objects from LRU queue The LRU queue is where volume objects are recycled from. Therefore if they are removed then they must be put back. Remove extraneous operations from cm_AdjustVolumeLRU(). LICENSE MIT Reviewed-on: http://gerrit.openafs.org/2913 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 77456c07945659ff1254732aa8e428e6301e5ee6) Change-Id: I0de6b6cfe1598ae09471b25a506f34bfe577c2a7 Reviewed-on: http://gerrit.openafs.org/3052 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e29f391bded8b0ec097414300dbdebbd8f5ec0a2 Author: Simon Wilkinson Date: Fri Oct 1 23:17:56 2010 -0400 rx: Reduce dependence on call->lock This patch reduces our dependence on call->lock, by allowing more of the reader thread to run lock free. Doing so requires that call->mode only be set by the reader thread. As a result, call->mode can only be set to RX_CALL_ERROR by rxi_CallError(). The mode is set to RX_CALL_ERROR by the reader thread immediately after regaining the call->lock when it has been dropped. Reviewed-on: http://gerrit.openafs.org/2880 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e445faa68c5ec6e47d3fd9d7318ade71d98703a9) Change-Id: I9042caf4364ce65704e3ddfde159be50d0c11c1b Reviewed-on: http://gerrit.openafs.org/3049 commit e7edf03db5451552e25e23ddceff50b7a2831433 Author: Phillip Moore Date: Tue Oct 5 12:46:35 2010 -0400 Quick Start Guide updated for RHEL rpms, and CLI syntax The names of the RHEL rpms have been updated to reflect what is actually published on openafs.org, and the CLI syntax of the commands run using -noauth have had the unnecessary -cell options removed. Reviewed-on: http://gerrit.openafs.org/2914 Reviewed-by: Russ Allbery Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 51c761706a9945ab40d34b4212bd463fa617636e) Change-Id: I164fd4a1c4456ce6e8f7e90402d204cc1d2f84f3 Reviewed-on: http://gerrit.openafs.org/3051 Tested-by: Derrick Brashear commit 7b14d729bd03d231fb7c4b090aecff5f1aea9c9e Author: Christof Hanke Date: Tue Oct 5 17:01:41 2010 +0200 volserver: Do not return ENOMEM on AIX from XVolListPartitions When calling "vos partinfo" or "vos listpart" towards a server running AIX with no partitions attached, it would return a ENOMEM, because unlike on linux, malloc(0) returns NULL on AIX. Thus, just don't do any malloc, when we have no partitions anyway. Reviewed-on: http://gerrit.openafs.org/2912 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 21e1bb9bb46b0e8e2523c3310ea8e602d2b07091) Change-Id: I88181baf4b4b5d0078593ffb27dedfd3f761db57 Reviewed-on: http://gerrit.openafs.org/3050 commit 4cd053a1604d667c0714ccb6c77c1073a3a509be Author: Jeffrey Altman Date: Tue Oct 5 08:31:22 2010 -0400 Windows: Kill AFS_LARGEFILES preprocessor symbol All builds define AFS_LARGEFILES so kill the symbol and discard the !AFS_LARGEFILES source code. Reviewed-on: http://gerrit.openafs.org/2910 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit d73bd5778a22f574a6f065a18f18d4379e9ffb4a) Change-Id: I34e4a08472573f8ad103df6c556e90838b68117b Reviewed-on: http://gerrit.openafs.org/3048 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 8c25d98cce08280348b5d948758932ac2f56cc46 Author: Andrew Deason Date: Sun Oct 3 18:27:19 2010 -0500 vol: Log ignored dirs that look like partitions If we see a /vicep*-like directory when we VAttachPartitions, and we ignore it because it lacks an AlwaysAttach, log that we ignored it. This may make things less confusing to admins that just try to create a /vicep* directory and don't know why it doesn't work. Feature suggested by Jason Edgecombe. FIXES 128221 Reviewed-on: http://gerrit.openafs.org/2893 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 4803d50bdb8cdeae2c3f86b5c09e853573bc49eb) Change-Id: I5d26d0b0edbd5eb11345c4be937d7ff986f46855 Reviewed-on: http://gerrit.openafs.org/3047 Tested-by: Derrick Brashear commit 2dafa9b57b5e58f6d65c502dcb1ded87ae682ce5 Author: Andrew Deason Date: Fri Sep 10 15:52:34 2010 -0500 vos release: Force full dump on RO_DONTUSE sites When releasing a volume, currently we perform an incremental dump on RO_DONTUSE sites if the volume exists on the remote site. Since RO_DONTUSE implies that we do not expect a site to exist there, delete the extant volume if we find one and force a full dump. If we perform an incremental dump, we run the risk of incrementally dumping to a temporary volume that the administrator is not aware of, and doesn't have any actual data but has a last update time late enough that it may be missing some data after the incremental dump. So to avoid that, force a full dump every time. Reviewed-on: http://gerrit.openafs.org/2731 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 9fed169b1c5c823fd96cea94daf712b2cf06c901) Change-Id: I2bb301084fa3d2433cd5bf5f8bfde3b1726f2fae Reviewed-on: http://gerrit.openafs.org/3046 Tested-by: Derrick Brashear commit e567a29f920ede89003b16e21bd739f9648683bc Author: Chas Williams (CONTRACTOR) Date: Sun Oct 3 14:35:46 2010 -0400 sin_family is not network order sin_family isnt sent over the network and therefore doesnt need htons(). sin_family is essential the same as domain, and no one does socket(htons(AF_INET), ...) Reviewed-on: http://gerrit.openafs.org/2891 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 60c4b248893f80431b2ea2a5d558c3536f86611a) Change-Id: If507801c8df170a88044ff9c87b9a97c076ca222 Reviewed-on: http://gerrit.openafs.org/3045 commit 2b8a90ad216330e23ce87d8062a56e65f63124e6 Author: Jeffrey Altman Date: Thu Sep 16 01:06:22 2010 +0200 Windows: Ensure that cm_NameI errors are acted upon promptly There are many cases in the SMB server where an error from cm_NameI() was either ignored or not acted upon until several other operations are performed that could result in the same error being repeated. This is a mistake which did not have negative side effects until additional checks for callback status were added recently. At present, if a CM_ERROR_ACCESS error is returned and ignored, subsequent attempts to operate on the same cm_scache_t will result in additional queries to the file server that will also end in an abort response. This can trigger the file server to delay responses to the client. This patchset ensures that all cm_NameI() errors are acted upon promptly. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/2887 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 565ab7aa8e751c06d03c3ab0034915572c29ef7c) Change-Id: Ie690178b7709851d1c7f75d6cb0353cddf1866ff Reviewed-on: http://gerrit.openafs.org/3044 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e496c0da54faf610a1b5963887bc679c8c615846 Author: Jeffrey Altman Date: Thu Sep 16 01:01:06 2010 +0200 Windows: Fix Parent(path) computation to permit mp and symlink creation The parent path computation was leaving trailing slashes on the path names which prevented the creation of mount points and symlinks when UNC paths were used that contained mount points. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/2886 Tested-by: Jeffrey Altman Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman (cherry picked from commit 6ad0e5b529dbfd7a2401a0622eb4ea5269124ceb) Change-Id: I55e67817c019dceab045973171bd53db468dfc2c Reviewed-on: http://gerrit.openafs.org/3043 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit d906c07b147d9daa7995e564e4f81daf82d65575 Author: Jeffrey Altman Date: Fri Oct 1 23:47:11 2010 -0400 Rx: raise rx_minPeerTimeout to 20ms At 2ms it is possible for the packet we are sending to be resent just about immediately as the retryTime computation occurs before the send takes place and not afterwards. If the network send blocks, the retryTime may have already expired. We do not want rx_minPeerTimeout to be too large though because the value will end up being used as the backoff time period when the actual RTT for the connection is less than the rx_minPeerTimeout value. Extensive testing shows 20ms to be an adequate compromise that avoids the vast majority of unnecessary resends without unnecessarily slowing down the connection if a packet is in fact lost. Reviewed-on: http://gerrit.openafs.org/2881 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear (cherry picked from commit b62cacf889a6a231a97951baad6594e4066880bd) Change-Id: Ieb4d8126477f9c8b293b8690a2e7f206de7ea92d Reviewed-on: http://gerrit.openafs.org/3042 commit 7ca2bb09472302c90be1d686e0f2e90c433d0924 Author: Jeffrey Altman Date: Thu Sep 30 10:48:58 2010 -0400 Rx: When call receive is done, send ack all packet When all of the packets for a call have been received, immediately send an ack all packet to the peer. This permits the peer to free the contents of the transmit queue and cancel all pending resend events. Reviewed-on: http://gerrit.openafs.org/2871 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 3cd3715e608b801b4848399e42cb47464e6e3cc3) Change-Id: I782e92935a04ce10b410b67043ea41fee262c1d5 Reviewed-on: http://gerrit.openafs.org/3041 commit 2dd3b7a8ec57580fb22eee22a9cbd67204b92135 Author: Chas Williams (CONTRACTOR) Date: Fri Oct 1 09:40:16 2010 -0400 add option to rxperf to use rx_Readv() instead of rx_Read() rx_Readv() is a bit "faster" than rx_Read() and typically used by most afs transaction. server% rxperf server client% rxperf client -c send -s server SEND: threads 1, times 100, bytes 1048576: 2073 msec server% rxperf server -v client% rxperf client -c send -s server SEND: threads 1, times 100, bytes 1048576: 983 msec Reviewed-on: http://gerrit.openafs.org/2877 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 12e6531f0079597280e1b3961738af55d682d3f5) Change-Id: Ia54818dddd693dfe5b41e8459f55453dd1c8361f Reviewed-on: http://gerrit.openafs.org/3040 commit 0991d6bed5b6656607bb57cdd419771ea94686f5 Author: Jeffrey Altman Date: Sat Oct 2 00:49:38 2010 -0400 Windows: Pass Volume Root Fid to cm_Analyze after RXAFS_GetVolumeStatus RXAFS_GetVolumeStatus can return VNOVOL, VMOVED, etc. In order to process them and update volume state a fid must be passed to cm_Analyze(). Use the volume root fid. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/2883 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 59e6ac8a5c354b746a4b984f4a10af91ebeef5f3) Change-Id: I20a902e9e3074334764954faf297200e5dc60b80 Reviewed-on: http://gerrit.openafs.org/3133 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 47d79237b6378a95907df110d96c262896779e61 Author: Jeffrey Altman Date: Thu Sep 16 14:23:41 2010 +0200 Windows: Negative Caching for Volume Lookups If a volume lookup returns VL_NOENT or VL_BADNAME, cache the negative response for five minutes. This prevents volume lookup storms caused by the same volume lookup being performed repeated during a short time period. This can happen if mount points to volumes that do not exist are present in a directory that is being evaluated by Windows Explorer or Common Control File Dialogs. This functionality is implemented by storing the most recent update time for the volume group as part of the cm_volume_t. A non-existing volume group is identified with a new CM_VOLUMEFLAG_NOEXIST flag. The presence of the lastUpdateTime value also permits volume location information to expire at lastUpdateTime + lifetime instead of expiring all volume information simultaneously each lifetime period. LICENSE MIT Reviewed-on: http://gerrit.openafs.org/2771 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit a00da7d2c9a66f1e5984ec2b3bd3efe10793e1c9) Change-Id: I3603e746a6df1834612647931cc09228428842db Reviewed-on: http://gerrit.openafs.org/3132 Tested-by: Derrick Brashear commit 22cae170a5babe36d56aa3a5a5503d15d28c297d Author: Derrick Brashear Date: Thu Sep 30 23:57:11 2010 -0400 exempt instant timeouts from mtu discovery if we set lastReceiveTime to 0 to hint that no net, honor that here as "just time out" Reviewed-on: http://gerrit.openafs.org/2875 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 0ecc90f3cd3f5a7c96b3689ab0c5f6a42edc3ed0) Change-Id: Ic85f7ea234a50935c5fad9804d459b6198902e4c Reviewed-on: http://gerrit.openafs.org/3038 Tested-by: Derrick Brashear commit 8d486ba36d09071998e11a46323120cb1feb6e33 Author: Andrew Deason Date: Tue Sep 14 10:45:10 2010 -0400 DAFS: Raise LogLevel for per-chain vol stats Only report detailed per-chain volume statistics on shutdown/SIGXCPU if LogLevel is 125 (or 25 for smaller per-chain stats). If a fileserver is configured with a large -vhashsize, printing out stats for each chain can take awhile and use up a nontrivial amount of disk space for logging, so only print out these stats if we're asked for them. Reviewed-on: http://gerrit.openafs.org/2759 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit e04f17704a4ceb242ea0b01abd225f89fa0979e7) Change-Id: I86499a2d73dbcdf04445e9f4976ef81e8f2d24ab Reviewed-on: http://gerrit.openafs.org/3037 Tested-by: Derrick Brashear commit 0372a9f65dcd26519d4bb6b83ddddcbc0b3a4ebc Author: Chas Williams (CONTRACTOR) Date: Wed Sep 29 18:21:25 2010 -0400 configure: --with-linux-kernel-packaging should default to disabled the test for this build feature is reversed. by default, the value for with_linux_kernel_packaging will not be defined which makes the existing test pick MPS='SP' instead of LINUX_WHICH_MODULES. based on the configure help messages, this would appear to be an opt-in not an opt-out. ... Optional Packages: ... --with-linux-kernel-packaging use standard naming conventions to aid Linux kernel build packaging (disables MPS, sets the kernel module name to openafs.ko, and installs kernel modules into the standard Linux location) ... Reviewed-on: http://gerrit.openafs.org/2869 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 87e96c30e069a2379365c9947a311e700cf51c4d) Change-Id: Id46afcb341104795c8e206261a2b1dfac289f37b Reviewed-on: http://gerrit.openafs.org/2938 Tested-by: Derrick Brashear commit 9eb31d72809566d3b0484db7bb6a890daf6a06ec Author: Chas Williams (CONTRACTOR) Date: Thu Sep 30 14:27:35 2010 -0400 afsd's -mem_alloc_sleep is obselete -- update documentation to reflect this. Reviewed-on: http://gerrit.openafs.org/2874 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 2bcd9044f747315cc1ea00b8c63982307edcc6c7) Change-Id: If1b79a5659be16bdf056ae89af284eb47e82c4c7 Reviewed-on: http://gerrit.openafs.org/2937 commit 9823df261bac3c2e45584f5b1d4e0b6bd7cb9b14 Author: Andrew Deason Date: Thu Sep 2 13:11:32 2010 -0500 DAFS: document the limits of -vhashsize You can only specify a -vhashsize between 6 and 28 (inclusive). Document that in the dafileserver man page. Reviewed-on: http://gerrit.openafs.org/2650 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7e12632cd2c8e07baa5e6c8aecd5311870771133) Change-Id: Ibe7da6f9916c1664050c28d136fe887b35a540ba Reviewed-on: http://gerrit.openafs.org/2936 commit 2d4bb5a38f8fba5a5899870359a39a3e892e2243 Author: Derrick Brashear Date: Wed Sep 29 14:15:24 2010 -0400 linux define ucontext properly ucontext requires glibc version info to engage. glibc info comes from features.h, which if we include afs_sysnames.h, we get... so, let's swap these. Reviewed-on: http://gerrit.openafs.org/2868 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 364691145698c8f9b87466cd9d9e2c54f8c6aaa9) Change-Id: Id9b143811a988095cda9d8f09b67732e3d18156b Reviewed-on: http://gerrit.openafs.org/2935 commit a6b7c5c0b5d843e0bda2c7f8ff6446374ea7e935 Author: Asanka Herath Date: Mon Aug 30 15:36:50 2010 -0400 Windows: Set NTDDI_VERSION when setting _WIN32_WINNT Reviewed-on: http://gerrit.openafs.org/2866 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit e9fafac6cba6e024f08e8743d60b7853a2940ba2) Change-Id: I04ff519adef8f9050d29d3236a28a979bd6f734b Reviewed-on: http://gerrit.openafs.org/2934 Reviewed-by: Asanka Herath Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 89c018a72fe2528fd2c97d58d0d4396ef4bfed67 Author: Simon Wilkinson Date: Sun Sep 26 15:48:54 2010 +0100 RX: Tidy reader data locking Data which is accessed only by the reader thread doesn't need to be protected by call->lock Remove the call->lock protection where it isn't required, which makes certain read/write calls lock free. Stop rx_ResetCall from manipulating reader thread data. This data will be zero'd and cleared when the reader thread calls rx_EndCall, and doesn't need to be reset by the Listener thread. The change which made rx_ResetCall reset reader thread information was originally part of 559ea99b. It caused race conditions that were fixed by adding additional lock protection in d0cc6e, 4dadd2 and 423ab97e. This commit reverts portions of all of those changes. It is safe to not clear the iovc in ResetCall because any NewCall must be balanced by a corresponding EndCall in the reader thread, and EndCall does the appropriate freeing of reader elements. Reviewed-on: http://gerrit.openafs.org/2856 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot (cherry picked from commit cbaef553978b7d81ba6d7b7721bcea97fe41870a) Change-Id: I64b315fdc2f6b33b2fe9690060c2f0cca0cc2ae6 Reviewed-on: http://gerrit.openafs.org/2933 Tested-by: Derrick Brashear commit 67dea45cead2cc9912b744bb5d0255c9e3807219 Author: Ben Kaduk Date: Tue Sep 28 20:03:25 2010 -0400 More FBSD syscall tweaking We're now properly registered in syscalls.master for HEAD (i.e. proto-9.0) and RELENG_8 (proto-8.2), which means that afs3_syscall is prototyped in sys/sysproto.h . Accordingly, don't declare it in afs_prototypes.h for those cases. Also add FBSD82_ENV checks for the new syscall-registration code, and cast afs3_syscall to sy_call_t* for the sysent structure. Reviewed-on: http://gerrit.openafs.org/2864 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 791b7a4c660ef468286eb6f51e66b4faa4bb6c7b) Change-Id: I6c58f2f08dafa5a0db98febde8f2fcb6781225e1 Reviewed-on: http://gerrit.openafs.org/2932 Tested-by: Derrick Brashear commit 0054458d07ee4304ad52d6ace68c742b1b8a68e8 Author: Simon Wilkinson Date: Mon Sep 27 23:50:23 2010 +0100 rx: Limit window size to max acks The RX ack packet can only acknowledge 255 packets at once. In the current implementation, this limits our maximum window size to 255, as we can't acknowledge any packets we receive outside of that window size. Reviewed-on: http://gerrit.openafs.org/2857 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 50920c0384189a6c635ca58c38bf7c942c0446b2) Change-Id: I523afdacfc2a50239219d6d39cbea58ca22fee2e Reviewed-on: http://gerrit.openafs.org/2931 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c864ba58f49caf46a9e3be95135ada12eced174d Author: Marc Dionne Date: Sat Sep 11 11:11:18 2010 -0400 volser: Set but not used variables Fix instances of variables defined and set but never used in the volser directory. Spotted by gcc 4.6 Reviewed-on: http://gerrit.openafs.org/2852 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 0cac17105b632f495a8000a06a721e0bb163e2f4) Change-Id: I7aa9b2673359f374ecf4cf4c63eaa9ad9ed20171 Reviewed-on: http://gerrit.openafs.org/2930 commit 7243f91d1af01f0f45bfc2f086dd6435c71d016c Author: Derrick Brashear Date: Sun Sep 26 07:28:46 2010 -0400 pam test should return an int in main change things so we conform with the usual prototype for main() Reviewed-on: http://gerrit.openafs.org/2850 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9d790e18fadc318305b58809c0715c4e07c82b85) Change-Id: Ibfd1dd69024c00c08308d69315c6cf971a6e0932 Reviewed-on: http://gerrit.openafs.org/2929 commit ce0a56e3ac918f3195252a07a72e3afe62b9ecd0 Author: Marc Dionne Date: Fri Sep 10 20:40:56 2010 -0400 viced, tviced: Set but not used variables Remove or ifdef out some variables that are set but never used. Spotted by gcc 4.6 Reviewed-on: http://gerrit.openafs.org/2853 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit a2de10a1705a88ef652f4489383801a15c938a12) Change-Id: Ic9186fd94a00445097af96e67eaeac1cc4b16915 Reviewed-on: http://gerrit.openafs.org/2928 Tested-by: Derrick Brashear commit 20c58aa2d0c501292415612eef725eab7e7f4b3c Author: Marc Dionne Date: Sat Sep 25 15:28:37 2010 -0400 tubik: minor Makefile cleanups Rework the install targets for udebug to avoid warnings in the case where afssrvbindir = bindir Remove commented out compile line for udebug Reviewed-on: http://gerrit.openafs.org/2851 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit e6c9cf2466e849753db99b48b0da26665ef0a0e3) Change-Id: Iab023770f7d28f2e8b205ae5572d12e2c14dd742 Reviewed-on: http://gerrit.openafs.org/2927 Tested-by: Derrick Brashear commit fec331439faeba9fbc92d81300bcda655cb300e9 Author: Simon Wilkinson Date: Mon Sep 27 11:47:51 2010 +0100 rxperf: Really set UDP buffer size On Unix, the UDP buffer size has to be set before we open any sockets. Otherwise, the default (64k) buffer size is used and never changed. Move the calls to SetUdpBufSize in rxperf.c so that the -u command line option actually has an effect. Reviewed-on: http://gerrit.openafs.org/2855 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit e23f3ae22f11433713860b37b89a94b12fd70e8d) Change-Id: I11dbe7bef29cb1ef105f831b5909f9a611385efb Reviewed-on: http://gerrit.openafs.org/2926 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5b4e1b9618502092ada077905398d0ed1435602f Author: Simon Wilkinson Date: Sun Sep 26 15:20:22 2010 +0100 Fix rxperf so that it works with pthreads *) Don't allocate 512K on the stack *) Don't pass stack allocated data into pthread_create() Reviewed-on: http://gerrit.openafs.org/2854 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 8c0498699366f7e40253d00604da3d9043b32851) Change-Id: Iadf2c5512e50aa3f10ee583dddfe5d580e0542bf Reviewed-on: http://gerrit.openafs.org/2925 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0813ec725e6e3820159237dfcc9a848383f865aa Author: Russ Allbery Date: Sat Sep 25 16:42:57 2010 -0700 Update Debian packaging to 1.5.77-2 release Contains DKMS robustness fixes, improvements to the defaults for the module build, and cleanup of the openafs-client init script. Updates the build system for the new demand-attach binary naming and for the changes to supported configure options. Fixes some issues with afs-newcell. Forces disabling of the Linux syscall probing in kernel module builds, since no supported Debian kernel allows this and it causes problems. Update debhelper to V8, which allows simplification of debian/rules and debian/module/rules. Reviewed-on: http://gerrit.openafs.org/2849 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7d272f05059a4b467ee41a2a0d8781e9f9c4c250) Change-Id: Ic0468c79db043651889b2a9b2e18b0246acf7c71 Reviewed-on: http://gerrit.openafs.org/2924 commit 59667ab5d2aba473312872169feb6c9373c488f5 Author: Michael Meffie Date: Thu Sep 23 10:15:57 2010 -0400 scout: display fetch and store counts as unsigned Fetches and stores are already defined as unsigned, so format them as unsigned values when displaying in scout. This fixes the bug where scout shows those counts as negative values on busy servers which have been running for a while. Reviewed-on: http://gerrit.openafs.org/2843 Reviewed-by: Simon Wilkinson Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit e28bb036b85ea90c0ecf8d52a17043374c1fef3a) Change-Id: If4d0a72b94e743dd336f31b4c21da7e68f800f11 Reviewed-on: http://gerrit.openafs.org/2923 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f74abfb4d0b8d354a0ce3abf60c4da6e0ac4e14c Author: Simon Wilkinson Date: Thu Sep 23 17:41:47 2010 +0100 rx: Big windows make us sad The commit which took our Window size to 128 caused rxperf to run 40 times slower than before. All of the recent rx improvements have reduced this to being around 2x slower than before, but we're still not ready for large window sizes. As 1.6 is nearing release, reset back to the old, fast, window size of 32. We can revist this as further performance improvements and restructuring happen on master. Reviewed-on: http://gerrit.openafs.org/2844 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit a99e616d445d8b713934194ded2e23fe20777f9a) Change-Id: I6080c69ba51c8743b8c48bf0e0b7dd481185688d Reviewed-on: http://gerrit.openafs.org/2922 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 96ad6896b45ef3a5dee411d38cba700b8c51f284 Author: Simon Wilkinson Date: Thu Sep 23 15:01:58 2010 +0100 libafsrpc depends on rxstat and fsint ... in the same way as shlibafsrpc Reviewed-on: http://gerrit.openafs.org/2842 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 4884de5bc8b5a984eeb5927685308874296e88b8) Change-Id: Iad2820d94c42c4f43fa22803680bfd56221fa97b Reviewed-on: http://gerrit.openafs.org/2921 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 588b00f7714648b50b0c4dbc7644022527ed1f63 Author: Simon Wilkinson Date: Thu Sep 23 10:42:25 2010 +0100 rxperf: Add build rules to build a pthreaded version The pthreaded version of rxperf is much more interesting than the LWP one now, so add some rules so that Unix can play with it too. Reviewed-on: http://gerrit.openafs.org/2841 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c21c90515ac37862a6002441790a721489fa89a8) Change-Id: Ie8c26191e6d7603dcd6a99ef9938efb33dea1e33 Reviewed-on: http://gerrit.openafs.org/2920 commit 8b9e96e0d1a4037464f6452f1213c66dfb390101 Author: Simon Wilkinson Date: Thu Sep 23 10:40:02 2010 +0100 rxperf: Fix the Unix build again Fix the Unix build of rxperf again Reviewed-on: http://gerrit.openafs.org/2840 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c87377834701195fe98d75ad34324bc1748e13a0) Change-Id: I50f7a69e1f88ca814d7d9b508464cb49da6231f7 Reviewed-on: http://gerrit.openafs.org/2919 commit 3b1a9ce2124e2db6146465ae39e887929388a628 Author: Simon Wilkinson Date: Fri Sep 17 22:03:20 2010 +0100 tests: Fix objdir builds Fix the tests so that they work when we have a separate build directory. Reviewed-on: http://gerrit.openafs.org/2828 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 259cca4050102e98ade929cc648a69d9f57c07fa) Change-Id: I5ba19639a8146af23a377bbfd2bfe0cf0911c0ea Reviewed-on: http://gerrit.openafs.org/2918 commit e67d4684eef4a83f1ac8dc064d348de62ffe0a39 Author: Jeffrey Altman Date: Wed Sep 22 16:28:48 2010 -0700 Additional functionality for rxperf Add the ability to initiate multiple pthread threads issuing calls on the same connection to the server. Add ability to set max window size. Add ability to adjust min peer timeout. Reviewed-on: http://gerrit.openafs.org/2835 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 9a6dca070733dd5065c37cd044a3d2ded2268b14) Change-Id: Ifeb786f3f7bf2433ff6f5729773a7e4794511cd6 Reviewed-on: http://gerrit.openafs.org/2917 commit f7ceeac38bf9aa728e23fe529f7b1b8f3e55e60a Author: Simon Wilkinson Date: Wed Sep 22 19:50:47 2010 +0100 rxperf: Fix so it builds on Unix Fix assorted errors in the rxperf utility so that it will build on Unix. Reviewed-on: http://gerrit.openafs.org/2834 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit a10f644fd21482559039f79e4a14fd39a83f6f9b) (cherry picked from commit a421dbb79a96e6ac4ca004c6b65ace313c340c3f) Change-Id: I80532b781fe758112718ab8d5b268e4005d4376d Reviewed-on: http://gerrit.openafs.org/2916 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 35293ae2700e1f5179d6ef95ab14d2e02041e6ac Author: Simon Wilkinson Date: Wed Sep 22 17:33:26 2010 +0100 rxkad: Make the test suite build again Make the rxkad stress test suite build again. Reviewed-on: http://gerrit.openafs.org/2832 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit d17adc30027d795068504dc736dac849ed42a884) Change-Id: I388a7bf87f402cee02695aab4c8d309589995648 Reviewed-on: http://gerrit.openafs.org/2915 commit 8815bf3992004211d18f5c074a010e4e28521e6d Author: Jeffrey Altman Date: Mon Sep 20 10:02:18 2010 -0700 Rx: Permit MakeDebugCall() be be compiled when RXDEBUG is undefined If MAKEDEBUGCALL is defined, build MakeDebugCall() even if RXDEBUG is not defined. Change-Id: I98d3216e8bf1e1f3b6b62c962d33db316d0f51ac Reviewed-on: http://gerrit.openafs.org/2818 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ed25a920232cb659c2997c91c5bc92a659ff163a) Reviewed-on: http://gerrit.openafs.org/2823 Tested-by: Derrick Brashear commit a6e4aac08f5d31ae3a20491be2d54883ccb41649 Author: Jeffrey Altman Date: Mon Sep 20 05:07:08 2010 -0700 Rx: Change minimum peer timeout to 2ms The previous value, 350ms, is historical. Now that networks are so much faster, an artificially high timeout value when backed off results in an extremely long delay before communication can resume. Change-Id: I6207fb3e5c26a36704abc1f9210af53e0ff1fae6 Reviewed-on: http://gerrit.openafs.org/2815 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit c77f2f1369fead87acb440134213ebf6d23f8fd7) Reviewed-on: http://gerrit.openafs.org/2824 Tested-by: Derrick Brashear commit e57578c1d4945c63eb63897e08b983aa596a55a1 Author: Jeffrey Altman Date: Mon Sep 20 05:11:20 2010 -0700 Rx: Do not hold call lock across memcpy in rx_ReadProc/rx_WriteProc 1.4.x does not hold the call lock across memcpy operations in rx_ReadProc, rx_ReadProc32, rx_WriteProc, rx_WriteProc32. The claim is that the call curpos, curlen, and nLeft fields which refer to the current packet being processed will not be touched by any other thread. Therefore it is safe to drop the call lock to permit another thread to add packets to the call while the memcpy is performed in parallel. This patchset continues to hold the call lock longer than the original implementation but does drop it for the length of time it takes to copy data from the packet buffer to the application buffer. Change-Id: I87dacdf541ba50db80ab55e500b38edab5126dc2 Reviewed-on: http://gerrit.openafs.org/2817 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e197c19cedaafa0d2bb59212fb171083f2140041) Reviewed-on: http://gerrit.openafs.org/2822 commit 2373bef5cce4e93435174149a3e56067e4420b02 Author: Jeffrey Altman Date: Mon Sep 20 05:10:22 2010 -0700 Rx: Permit udp buffer size to be set in rxperf Change-Id: I4680e038e2965ca8bc13f76955b85e924435c6af Reviewed-on: http://gerrit.openafs.org/2816 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7b9607639816b19fdf1b70b4c04ba984f9bf3613) Reviewed-on: http://gerrit.openafs.org/2821 commit 25a0b9f2921aa26ca7247a97db5dbe7bace7ad49 Author: Jeffrey Altman Date: Sun Sep 19 09:17:08 2010 -0700 Windows: Export additional RX debugging variables from afsrpc.dll Export rxi_nRecvFrags @2008 DATA rxi_nSendFrags @2009 DATA rx_initReceiveWindow @2010 DATA rx_initSendWindow @2011 DATA rx_intentionallyDroppedPacketsPer100 @2012 DATA rx_intentionallyDroppedOnReadPer100 @2013 DATA so they can be referenced from pthreaded builds of src/rx/test tools. Exported variables must be present in both FREE and CHECKED builds. Change-Id: Ia7f3ee0143679bab1ce74f71dc3a996cda1f18a8 Reviewed-on: http://gerrit.openafs.org/2779 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7ee80a853cebc472d9d9664dbfcccadd1d49d5fc) Reviewed-on: http://gerrit.openafs.org/2814 commit bd9f7b125fcb1f2dff350f38e57ec04c256004b1 Author: Jeffrey Altman Date: Sun Sep 19 09:14:06 2010 -0700 Rx: PrintTheseStats should not be dependent on RXDEBUG When RXDEBUG is not defined, PrintTheseStats generates an error even though the statistics are in fact available. The global variable rx_packetTypes was not being defined without RXDEBUG. Make rx_packetTypes defined always and permit statistics to always be printed. Change-Id: Ife708d34b5d56374c8aff9aa7c941d39b37ca4a1 Reviewed-on: http://gerrit.openafs.org/2778 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f1183f16285be040b7150414c9563a9bceb53210) Reviewed-on: http://gerrit.openafs.org/2813 Reviewed-by: Rod Widdowson commit e7bd67e5bd700b502f47a7c82bb19b4ad98f7dab Author: Jeffrey Altman Date: Sun Sep 19 09:08:42 2010 -0700 Rx: move TSFPQ prototypes from rx_globals.h to rx_protoypes.h Function prototypes belong in rx_prototypes.h not in rx_globals.h. Remove EXT macro from function prototypes as functions do not require special treatment in order to be exported by a DLL on Windows. Change-Id: Ieb617db634f2cfa57410e77e276c703311304547 Reviewed-on: http://gerrit.openafs.org/2777 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 00afdbed0ff474aaf45a49b157843af9cb8483ad) Reviewed-on: http://gerrit.openafs.org/2812 Reviewed-by: Rod Widdowson commit 36ce1b03e4d9a01f7a128b2deabf03b4ace4ecf0 Author: Jeffrey Altman Date: Sun Sep 19 09:03:39 2010 -0700 Rx: properly compute dataPacketsReSent statistic The global dataPacketsReSent statistic should be the sum of all peer->reSends and dataPacketsSent should not include the count of resent packets. Prior to this patchset, dataPacketsSent included the resent packets and dataPacketsReSent was computed as the number of requests for Ack instead of the number of packets resent. Change-Id: I969003f7ec1805d09c14ac342453f86fdb5df99a Reviewed-on: http://gerrit.openafs.org/2776 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8549ebe0a81ac9a526d13f96ba63e048d8b77aa7) Reviewed-on: http://gerrit.openafs.org/2811 commit 88168412f37514338b55daebf9fa16742d6bfd3f Author: Jeffrey Altman Date: Sun Sep 19 09:00:57 2010 -0700 Rx: always use tservice variable in rxi_ServerProc Since tservice has been assigned to call->conn->service, use it instead of call->conn->service when calling executeRequestProc(call) Change-Id: Id26c4c63f054bcd1e3ef5349900c910e3c9cf2be Reviewed-on: http://gerrit.openafs.org/2775 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 72cadfd86a0efc0079639671d613005ff403ccc4) Reviewed-on: http://gerrit.openafs.org/2810 commit ffaf0a53adf1b39bf3796f778c4e6e712ae2ea84 Author: Jeffrey Altman Date: Sun Sep 19 08:57:02 2010 -0700 Windows: Release builds of Rx should be lean and mean Only build checked builds of Rx with -DRXDEBUG -DRXDEBUG_PACKET -DRX_TRACK_PACKETS -DRX_REFCOUNT_CHECK Change-Id: Ib4666d30b1e48eca172331353d9e376b2516f183 Reviewed-on: http://gerrit.openafs.org/2774 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit e77c7be7537cbcbee77a297b5b52a6287462462f) Reviewed-on: http://gerrit.openafs.org/2809 Reviewed-by: Rod Widdowson Tested-by: Derrick Brashear commit e1f1286dc264e186bf3c9ced5b41d7298ed954ad Author: Jeffrey Altman Date: Sun Sep 19 19:48:57 2010 -0700 Rx: Only backoff the peer timeout once If a packet is missing, the peer timeout is backed off to provide a new starting point for timeout computation. The backoff state must be stored in the peer object to ensure that multiple failures do not result in more than one backoff before a successfully received packet is available for recomputation. Change-Id: I6794b3a020801ff421e4ed776afb581962b111a9 Reviewed-on: http://gerrit.openafs.org/2787 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 3b4cad3b78ec5df7253067c70e19c066552d7145) Reviewed-on: http://gerrit.openafs.org/2808 commit 6a8e622bbec9fd6263d621669208e26f88339391 Author: Jeffrey Altman Date: Sun Sep 19 09:47:37 2010 -0700 Rx: only compute peer bytes sent and received if rx_stats_active Computing the bytes sent and received is an expensive operation. If rx statistics collection has been disabled we should not collect the peer data. The most expensive operation is the rx_FindPeer() call that is performed during rxi_ReadPacket(). rxi_ReadPacket() is processed by the rx listener thread which must be as fast as possible. Change-Id: I5403c88aa85f9049fe50a9c1f3dbaad7d8b802bd Reviewed-on: http://gerrit.openafs.org/2782 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 7d16c8b84ac8cc0251231819bfb0eefc2040322a) Reviewed-on: http://gerrit.openafs.org/2807 commit ada57bb70e23fbb5ee52dd456b33c8cdd41885ff Author: Jeffrey Altman Date: Sun Sep 19 09:35:03 2010 -0700 Rx: avoid lock churn in rxi_ReceiveAckPacket rxi_ReceiveAckPacket can acquire and drop the conn_data_lock several times and acquires and drops the peer_lock unnecessarily. This patchset adds a variable to track whether the conn_data_lock is held in order to avoid the need to drop it and reacquire it based upon conditional operations. It also relocates the peer->maxPacketSize computations in order to consolidate the work performed under the peer_lock. Change-Id: I0bc9e42e8ef198a04315f9f2df529073ce9dfd03 Reviewed-on: http://gerrit.openafs.org/2781 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c59ce29602086f795d5fbaef6a5f88fae9dd2dea) Reviewed-on: http://gerrit.openafs.org/2806 commit 16ab9e71926790ef19b5f6695f312ceb01d9e884 Author: Jeffrey Altman Date: Sun Sep 19 08:28:21 2010 -0700 Rx: Build rxperf test application on Windows rxperf made assumptions that it was built against LWP, used buffer sizes for read/write that were too small, made use of non-portable types, and set signal handlers that are unsupported. Change-Id: I55515cac0f441116df7fd0aaf100fb3ae99b220f Reviewed-on: http://gerrit.openafs.org/2773 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 449976acd54ff46fd6cdb9a6e12acf3789665bcf) Reviewed-on: http://gerrit.openafs.org/2805 commit d36d8cb4254889606416416f12fd5e5352984334 Author: Jeffrey Altman Date: Sun Sep 19 08:03:50 2010 -0700 Rx: Move rxperf test application to src/rx/tests rxperf is a test application. Move it to the tests directory Change-Id: I946a8026760d860667ea5707d8a3e0d3b895d908 Reviewed-on: http://gerrit.openafs.org/2772 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 5c3a1ed88de16db4c2081bbf1a4e397ce459bcf3) Reviewed-on: http://gerrit.openafs.org/2804 Tested-by: Derrick Brashear commit 430cefbeac69be2489c512d9a3482b256344906f Author: Jeffrey Altman Date: Sun Sep 19 09:20:01 2010 -0700 Rx: cleanup testclient and testserver test applications Permit testclient and testserver to be built on Windows as pthreaded applications. Remove warnings. Fix prototypes. Remove variable declarations for rx library variables defined in rx_globals.h. Increase the buffer sizes. Disable use of packet dropping when the library is built without RXDEBUG. Change-Id: Ic8483eb64cbed4958baf8fd054e01c7c40832599 Reviewed-on: http://gerrit.openafs.org/2780 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 7ded3209a2fbd8d0108f9322d708551e93b6ef76) Reviewed-on: http://gerrit.openafs.org/2803 Tested-by: Derrick Brashear commit ade14eedf35ac8912dee130c5d6c706cf5efe7f8 Author: Simon Wilkinson Date: Sun Sep 12 12:07:59 2010 +0100 Linux: print after BUG() is pretty useless Calling BUG() panics the machine, so having a print statement with further debugging information after it doesn't help much. Swap the ordering, so we at least see the message. Change-Id: I3aa3b8ba5faaa40cef7bb046093b322212eea2b8 Reviewed-on: http://gerrit.openafs.org/2754 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ff100901e0da8d236c7ae8b4d478600146d8f182) Reviewed-on: http://gerrit.openafs.org/2802 commit 1ac380b0d39fc0a4657ff134b0ef2d9bb63af3f1 Author: Andrew Deason Date: Wed Sep 15 12:19:33 2010 -0400 libafs: Fix pioctl get/putInt alignment issues We don't know if the buffer for pioctl data is aligned to anything, so we can't just dereference the given pointer as an int or anything else. So, just memcpy the data in for ints and such; conveniently, afs_pd_getBytes and afs_pd_putBytes can do this for us, so just use that. Change-Id: Id1abdae55308db6fe1e13f541a5d776daa6af934 Reviewed-on: http://gerrit.openafs.org/2763 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit 8fd83543b60aefb4b7c5a0116d1538a89f58bbb3) Reviewed-on: http://gerrit.openafs.org/2801 Tested-by: Derrick Brashear commit cb978ebcb68bf490e86e0f93de48b6119bae39ed Author: Marc Dionne Date: Fri Sep 10 19:55:39 2010 -0400 vlserver: Set but not used variables Remove some variables that are set but never used in the vlserver directory: - n1,n2,n3 and n4 in vlclient.c appear to have never been used even in the original IBM code - some variables in vldb_check.c that are no longer used after some recent changes Spotted by gcc 4.6 Change-Id: Icd9e7da151b3a485c917ed5bd99eb26998dfa818 Reviewed-on: http://gerrit.openafs.org/2784 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit ee3538218d342bb74ab849763421b9ec075251b3) Reviewed-on: http://gerrit.openafs.org/2800 Tested-by: Derrick Brashear commit 3bbcfde65e30581b2d5c66d3a1592fe942581cf7 Author: Andrew Deason Date: Tue Sep 14 12:15:22 2010 -0400 volser: Delete timed-out temporary volumes When a transaction times out on a volume, delete the volume if it is a temporary volume (destroyMe is set). This prevents half-created volumes from accumulating, which can take up space and screw up certain vol ops in some versions. Change-Id: I94e9adc767b84a2a32d980f508af33b823560950 Reviewed-on: http://gerrit.openafs.org/2760 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit bc56f5cc97a982ee29219e6f258b372dbfe1a020) Reviewed-on: http://gerrit.openafs.org/2799 commit 33139547312eb8e70650ba02034fc21d52e53ab2 Author: Marc Dionne Date: Sat Sep 11 13:23:11 2010 -0400 butc: Set but unused variables Remove unused variable taskId writeData() systematically returns 0, so make it void and adapt call sites that assigned the return value but never used it. Also move the function up in the file to avoid the need for a forward declaration, and make it static since it's only used here. Spotted by gcc 4.6 Change-Id: I2f61c0395796498175f2cb9131066b00657f99a7 Reviewed-on: http://gerrit.openafs.org/2785 Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit f1796b0f4ad0202ad32e06bb849f443984cf22b5) Reviewed-on: http://gerrit.openafs.org/2798 Tested-by: Derrick Brashear commit bfd269535f032dce04c0769ac2ca97ca3753fcf9 Author: Marc Dionne Date: Thu Jul 1 11:38:20 2010 -0400 Linux: normalize error return for emulated syscalls pagsh and other code expect setpag() and pioctl() to behave like a regular syscall or pioctl, that is to return -1 on error, with errno set to the specific error code. On Linux, the underlying emulation does a straight return of any error code it gets from the ioctl, and errors are not properly caught by the callers. As an example, pagsh won't detect an error from setpag such as exceeding a keyring quota limit. With this patch, the user will see this: $ pagsh setpag: Disk quota exceeded sh-4.1$ The code in proc_afs_syscall is modified to set errno to the error code and to set errorcode to -1 in case of error. proc_afs_sycall is reindented while we're changing code there. FIXES 126230 Change-Id: I945f2d28eb0ae26c7f42502c90eb2e6e95c29a58 Reviewed-on: http://gerrit.openafs.org/2770 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb) Reviewed-on: http://gerrit.openafs.org/2797 commit b83ceefb2dffd082d3f7cc5b40e2d202f161ff65 Author: Derrick Brashear Date: Wed Sep 15 04:26:13 2010 -0400 disable Rx packet tracking minimize the impact of Rx packet tracking. in particular, do no extra queue scans, which means the rest of the state which tracks where a packet is now isn't of use. make it possible to re-enable. Change-Id: I5b9ed039a0394edcea48bb46729cd2ce2f71d4b9 Reviewed-on: http://gerrit.openafs.org/2762 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 4bbf0dae237e01127f4d1a4d913f00e8dad859a3) Reviewed-on: http://gerrit.openafs.org/2796 Tested-by: Derrick Brashear commit e18a8f62065ffa7b2ca49d7b4baabd7d7ba92555 Author: Marc Dionne Date: Sat Sep 11 10:46:50 2010 -0400 Always check return code from iod_Write The return code from iod_Write is checked at every call site in the file, except this one. Check it, and return VOLSERDUMPERROR if appropriate. Spotted by a set but unused warning from gcc 4.6 Change-Id: I84f38a4b3b1e37c25be9c76702b0d2818058454e Reviewed-on: http://gerrit.openafs.org/2733 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e0708617b8f5df625b6ad62920665e704f1374f7) Reviewed-on: http://gerrit.openafs.org/2795 commit db86d1a9767213b0cf64e366f1086c71656fc55f Author: Marc Dionne Date: Sat Sep 11 14:57:17 2010 -0400 rx: Set but not used variables Remove some unused variables in the rx code. These generate warnings with gcc 4.6. Change-Id: I1e19c82cd05bcd47a65d77079019f1f0b6704826 Reviewed-on: http://gerrit.openafs.org/2732 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit a8cf472fd1723fa0e5f4edc34e470443c941f017) Reviewed-on: http://gerrit.openafs.org/2794 commit 0b80be05c2adcb765e7e4cf1a8a63e772609e428 Author: Simon Wilkinson Date: Wed Sep 8 08:24:55 2010 +0100 Ignore *.dSYM files in working directory Failed Mac OS X debugging builds leave *.dSYM directories lying around the tree, which just litter the contents of "git status". So, ignore them. Change-Id: Ic2b79f299d724b770bf83cb24f2aac7c4063efdb Reviewed-on: http://gerrit.openafs.org/2744 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 290204c6e92d61c5b12b90d09e8202731caa0400) Reviewed-on: http://gerrit.openafs.org/2793 commit 02f39f7b168cae20117a56dd0dbf4eeaa87b3bcc Author: Simon Wilkinson Date: Wed Sep 8 08:22:57 2010 +0100 Add config.log to gitignore globally When you end up explicitly regenerating chosen Makefiles by running ../../config.status Makefile, the working tree ends up littered with config.log files. Currently, we only ignore config.log in the top directory - extend this so that it's ignored across the tree. Change-Id: If3cfec82fbf78e97ee769b36315ba23dcfe8a950 Reviewed-on: http://gerrit.openafs.org/2743 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4a353545c3f0e91cc85d7feb379997a1eda9f6e3) Reviewed-on: http://gerrit.openafs.org/2792 commit 3eb62601471b44ebb6ed5e06945681c2eb320736 Author: Simon Wilkinson Date: Wed Sep 1 11:09:46 2010 +0100 RX: Make the sample client and server build Make the RX sample client and server build again Change-Id: I81ce12eadcb4150dd503e41f9a7fd1a850d31a11 Reviewed-on: http://gerrit.openafs.org/2737 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 71171262602d7f261adbffd5047266e94c4a6f92) Reviewed-on: http://gerrit.openafs.org/2791 commit e106ac54b7f5dba4bb94f6920ed345a6e0c049af Author: Simon Wilkinson Date: Sat Sep 11 08:25:15 2010 +0100 vlserver: Use com_err for Ubik error messages Use com_err to return a sensible string, rather than just an error code, for errors with Ubik initialisation. This has the specific benefit that the error when the database directory doesn't exist, or isn't readable, becomes Ubik init failed: file not found when processing dbase" rather than Ubik init failed with code 5382 Change-Id: I5f770377668a7f545cad7e422f28afd7c9f9888d Reviewed-on: http://gerrit.openafs.org/2735 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 6380213d296c138349c77fa4a51655fac23cfeea) Reviewed-on: http://gerrit.openafs.org/2790 commit fb5c2b4c1f05743f392890b6b2b90fe94e8df599 Author: Marc Dionne Date: Thu Sep 9 21:02:05 2010 -0400 Warning fix for gcc 4.5 "operation may be undefined" warnings The inc_header_word and set_header_word macros make repeated use of their argument, which triggers many (~30) warnings with gcc 4.5, like this one: ./ptutils.c:473:6: warning: operation on ‘cheader.foreigncount’ may be undefined Removing the cast to afs_int32 in the macros gets rid of the warning, and should be safe since we're just getting a small positive integer value - the offset of the member in the structure - and passing it to the pr_Write function which expects an afs_int32. Change-Id: Ie493520f874cddbb4b7f9f7ebe4b3922a848d0d0 Reviewed-on: http://gerrit.openafs.org/2729 Tested-by: Marc Dionne Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit d69914a5f0580f8048072d3b734558ea5b7b2df5) Reviewed-on: http://gerrit.openafs.org/2789 Tested-by: Derrick Brashear commit a16b1119b870a8f7e968ea1ae71ee950e2adbf78 Author: Michael Meffie Date: Thu Sep 9 15:22:29 2010 -0400 manpage correction for restorevol -file option The restorevol -file option specifies which file to read. Change-Id: I5c03eaaf8bf82fc6d3fb83ff08e8278257e7b65f Reviewed-on: http://gerrit.openafs.org/2728 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 92ff0028f2e6a2f24dd5369f9b31e9852bf92abc) Reviewed-on: http://gerrit.openafs.org/2788 commit e36b4e0068b602d37e215430a2a576033dfb97b4 Author: Russ Allbery Date: Tue Sep 21 14:11:53 2010 -0700 Update bos create man page for new naming of demand-attach binaries The demand-attach fileserver binaries now have a "da" prefix. Adjust the documentation in the man page for bos create accordingly, and add the new binaries to SEE ALSO. Change-Id: Ib70bad87aaf8bfc483ffbfe402db01c178e6c4e4 Reviewed-on: http://gerrit.openafs.org/2830 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 82b7327b5ba66c6ddbc898ad383b4e5f2b08ec38) Reviewed-on: http://gerrit.openafs.org/2845 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit a2cf6b8d9f7a95b6195302ed68e7c4bbbdb38169 Author: Russ Allbery Date: Tue Sep 21 16:45:53 2010 -0700 Fix POD errors in fileserver and dasalvager Fix missing newlines before =back commands. Change-Id: If8e65c94f48c271c37c1b4bbec1b17d383c8375d Reviewed-on: http://gerrit.openafs.org/2831 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 10281b5be240707ed2eb75bdb68d9d23ff0011c8) Reviewed-on: http://gerrit.openafs.org/2846 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit f7f366d0ee20c58f97b771b96217875e0ec59bee Author: Russ Allbery Date: Wed Sep 22 16:34:42 2010 -0700 Link dafssync-debug(8) to fssync-debug(8) The two commands are documented identically for right now, so just link the dafssync-debug man page to the fssync-debug man page. Remove the incorrect statement in the man page that fssync-debug only works with demand-attach. FIXES 128166 Change-Id: I812641ad7a345c7f5412c3c97ed1ba393e981639 Reviewed-on: http://gerrit.openafs.org/2836 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 68d074d8aa98e76fb85289c69300d17695b98d0b) Reviewed-on: http://gerrit.openafs.org/2847 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit ca2a73638f124f6bd65bac56bed8f96b1bd1d03a Author: Simon Wilkinson Date: Thu Sep 23 08:58:21 2010 +0100 libuafs: Don't #define user libuafs used to #define user to usr_user, so that any references to 'struct user' would become 'struct usr_user'. However, none of the kernel code uses struct user, and this #define conflicts with the definitions in sys/user.h on Linux. So, just remove it. Thanks to Russ Allbery for the original problem report. Change-Id: I7868c8ddade2df626f5ecae597144641dfc551b7 Reviewed-on: http://gerrit.openafs.org/2838 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 200a9947f548eb7158e92de62ddaa76fcfe4ba46) Reviewed-on: http://gerrit.openafs.org/2839 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit c12a6ec003fef78ed869bb92e384dfacf02add98 Author: Russ Allbery Date: Mon Sep 20 14:19:11 2010 -0700 Add NEWS entries for OpenAFS 1.5.77 and 1.5.76 Based on the public announcement for 1.5.77. Change-Id: Ic368e16e16b03a79de6196a2e355eca0f420de77 Reviewed-on: http://gerrit.openafs.org/2819 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 0a9e57c45e4412d9dac7050d693a22044ddc1d0f) Reviewed-on: http://gerrit.openafs.org/2820 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 9faff2047e738445b66ed14dcc843d00ecfa26e9 Author: Steve Simmons Date: Tue Sep 7 17:38:27 2010 -0400 Add new file src/venus/cacheout to things that should be ignored. Reviewed-on: http://gerrit.openafs.org/2719 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 41acfb91fa7fefae1f9a69aadc187a1403ec5827) Change-Id: I0d95c9f63a20814fbb882db0b8c063e179d62b9c Reviewed-on: http://gerrit.openafs.org/2722 commit dbd2e6c12057de7eccd09a05a5712f196157b322 Author: Derrick Brashear Date: Tue Sep 7 14:40:53 2010 -0400 openafs 1.5.77 make 1.5.77 in various places we need it Change-Id: Ic7e487ce76f86f50d2565e75a3b2f7642ecadd87 Reviewed-on: http://gerrit.openafs.org/2713 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fba7087c981b01d37ecce3d0a1645fa7ebdf6779 Author: Derrick Brashear Date: Tue Sep 7 20:31:20 2010 -0400 ubik recovery and remote use correct file number the file propagation "out of band" changes should not hardcode recovery on file 0, but instead work on any file the interface is acting on. use the provided file number. Reviewed-on: http://gerrit.openafs.org/2715 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit f8ff458ef02d5ef49bc467304e40571d871385c8) Change-Id: I2cf324c9759f9878c5b37603480a9c803c041641 Reviewed-on: http://gerrit.openafs.org/2717 commit fce40951d4e3fc586e5e7bca545c1b4c6adbff04 Author: Jeffrey Altman Date: Tue Sep 7 14:35:22 2010 -0400 Windows: 1.5.77 Change Log summary Change-Id: Ic0362956470ddb76fac64d21927b3e51b7980ea6 Reviewed-on: http://gerrit.openafs.org/2710 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 99811e3e5faf5917975d7ec3c3d16e2ed9a5bf50) Reviewed-on: http://gerrit.openafs.org/2712 commit cb498f02f7bc90dab005c478033413eedca27478 Author: Jeffrey Altman Date: Fri Sep 3 00:02:17 2010 -0400 Windows: revise NTSTATUS response for ALLBUSY, ALLOFFLINE, and ALLDOWN Replace STATUS_IO_TIMEOUT with RPC_NT_SERVER_TOO_BUSY for CM_ERROR_ALLBUSY. Replace STATUS_PATH_NOT_FOUND with RPC_NT_SERVER_UNAVAILABLE for CM_ERROR_ALLOFFLINE and CM_ERROR_ALLBUSY. These errors provide a more meaningful message to end users when a failure occurs. LICENSE MIT Change-Id: I34483f8f696285477fa0f8a8dac3b0ff33dee6b4 Reviewed-on: http://gerrit.openafs.org/2663 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit de441ba420b8fc38ce1b36bee06097f21cc6514b) Reviewed-on: http://gerrit.openafs.org/2714 commit fcca1f7bbee8198d8aeead3003bbff28f5dd9080 Author: Jeffrey Altman Date: Tue Sep 7 08:21:12 2010 -0400 Windows: Improve SMB detection of Local System account Depending on the authentication method, the smb session authenticated name for the "local system" account may be the nul string. In this case it is impossible to use the name to determine if the authenticated entity is the "local system" account as required by smb_SetToken. To work around this problem, smb_AuthenticateUserExt() will now obtain the Security Identifier (SID) for the authenticated account. The string representation of the SID will be used in place of the name by smb_ReceiveV3SessionSetupX() when constructing the smb_user_t object. A new flag, SMB_USERNAMEFLAG_SID, indicates when the name is in fact a SID. smb_userIsLocalSystem() checks for the SMB_USERNAMEFLAG_SID flag and performs a SID comparison when it is set. smb_SetToken() will accept either MACHINE\user or a SID string as the smbname. It will obtain the SID if possible and create a SID-based smb_user_t. It is possible that a SYSTEM service will use an anonymous (S-1-5-7) SMB connection. In that case, we also check the RPC Impersonation SID to see if it is SYSTEM. If so, the RPC identity supercedes the SMB identity for SetToken. smb_IoctlRead, smb_IoctlV3Read and smb_IoctlRawRead are now all consistent with regards to name processing. Fixed a couple of comments as well. FIXES 128022 LICENSE MIT Change-Id: I8f9ccd4a4dddea52d151288855c7e129e2f31b28 Reviewed-on: http://gerrit.openafs.org/2709 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 19f50c13b4542cc84c33eaca4b2cc6ac0b75eb98) Reviewed-on: http://gerrit.openafs.org/2711 commit 81e9b15f568bbfdbbfa54c2f2aaf7f1f1e5beb62 Author: Jeffrey Altman Date: Thu Sep 2 21:17:24 2010 -0400 Windows: Modify signature of buf_CleanAsync and buf_CleanAsyncLocked The buf_CleanAsync() and buf_CleanAsyncLocked() signature does not include a cm_scache_t pointer even though buf_CleanAsyncLocked() needs a pointer to the matching cm_scache_t object. There are some calls when the cm_scache_t object is already known. For those cases it is more efficient to avoid the additional lookup especially when buf_CleanAsync*() is being called on every buffer associated with the cm_scache_t object. At the same time add a flags field and a constant CM_BUF_WRITE_SCP_LOCKED to permit the lock state of the cm_scache_t to be passed in. Finally, fix up the usage in buf_FlushCleanPages() which gains the most from these changes. LICENSE MIT Change-Id: I3726441ff83a89e24d790174ca71396d633f1be6 Reviewed-on: http://gerrit.openafs.org/2662 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit 1ef135110b7d850e2c40bbbb6b7de69c76872fa9) Reviewed-on: http://gerrit.openafs.org/2708 commit a7e9c8316765b3b7a8933aafba3681e2e4d106ef Author: Jeffrey Altman Date: Thu Sep 2 21:05:15 2010 -0400 Windows: Permit cm_scache rwlock to be dropped when "Stablized" The cm_buf_opts_t cm_BufStabilize() function was implemented such that holding the cm_scache_t.rw lock had to be exclusively held until cm_BufUnstablize() was called. Unfortunately, this prevents using Stabilize/Unstabilize to protect the cm_scache_t during Flush operations as the cm_scache_t.rw lock must be acquired after the cm_buf_t mutex and not before it. This patchset reimplements the synchronization logic using the new CM_SCACHEFLAG_SIZESETTING flag and cm_SyncOp(). LICENSE MIT Change-Id: Iaada83f7f3b75bb3b213b33b2399e900e48a2fbc Reviewed-on: http://gerrit.openafs.org/2661 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit fa961c02fbb7dc54fa4c02c38dfd07c44eb696d3) Reviewed-on: http://gerrit.openafs.org/2707 commit da0a17c9fc0bb54f081355ace48f0ea988dce7bc Author: Jeffrey Altman Date: Sun Aug 29 23:41:02 2010 -0400 Windows: fail cm_CheckNTOpen if READ|DELETE for readonly file If the readonly file attribute is set (stored as a unix mode) then a CreateFile operation should fail if the file is opened for DELETE in combination with any other privilege. LICENSE MIT Change-Id: Ie8ebb6d230cf65d9ce2411bab2fcc4e561081505 Reviewed-on: http://gerrit.openafs.org/2660 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit ee26ce51f67c7a91d843184374240bbc29e1660b) Reviewed-on: http://gerrit.openafs.org/2706 commit 695fc9ba0111ca0455395fac62ce50ec42f48329 Author: Jeffrey Altman Date: Thu Aug 26 11:33:43 2010 -0400 Windows: Add validation for directory buffer contents If the directory buffer contents are garbage we can crash the service. Add some simple validation checks to ensure that cm_dirEntry_t objects have the correct flag value and that the name strings are not too long. LICENSE BSD Change-Id: If4a276007ff7a21a641825037a1035ea20db79c5 Reviewed-on: http://gerrit.openafs.org/2658 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 72584be7fb0b6eb01ca5cb9c0703e9bc1b92f547) Reviewed-on: http://gerrit.openafs.org/2705 commit 8c4d5075c3b074584db03b7858a8d066057318f4 Author: Jeffrey Altman Date: Tue Aug 24 16:46:45 2010 -0400 Windows: cm_TryBulkStatRPC must process VIO errors If the bulkStat errorCode indicates that a particular object is inaccessible due to a VIO error, we must update the server status appropriately in order to permit failover. LICENSE MIT Change-Id: I19ce3d2c5b138d519fb1c437f6d5109d7d8b1310 Reviewed-on: http://gerrit.openafs.org/2657 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 3f69933c4243d6861d5cce701c28f2dee088e6c2) Reviewed-on: http://gerrit.openafs.org/2704 commit 0ed1eca089eb965d4416dcb5f26b97d082e66786 Author: Jeffrey Altman Date: Tue Aug 24 16:42:57 2010 -0400 Windows: better handle RX_MSGSIZE errors An RX_MSGSIZE error is returned by the new PMTU detection code. It is critical that such an error result in a retry of the operation that failed. Otherwise, the PMTU detection can't work and the server will be marked down. Secondly, it is important that such errors not leak to the application layer. Map them to CM_ERROR_RETRY in all cases. LICENSE MIT Change-Id: I966fe259080bd31ec60fdb6715f54e18e190c790 Reviewed-on: http://gerrit.openafs.org/2656 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit b11ff643b5665ec252ca96dc19af1446fb72481f) Reviewed-on: http://gerrit.openafs.org/2703 commit 5010d19abc4eb35434dbf4918105daf43a8c4e67 Author: Jeffrey Altman Date: Tue Aug 24 16:40:38 2010 -0400 Windows: print the value of cm_OfflineROIsValid to afsd_init.log If we say we are printing the value of cm_OfflineROIsValid, do so and not cm_deleteReadOnly. LICENSE MIT Change-Id: I8b0bc73798feea413f8ce79f9965664fc050ef76 Reviewed-on: http://gerrit.openafs.org/2655 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 874c5ca8359d49703f1f37d7fb70204c182d0f86) Reviewed-on: http://gerrit.openafs.org/2702 commit f024479e88ada8d924c0f8ebb29afa94b0c64b49 Author: Jeffrey Altman Date: Sun Aug 22 10:05:59 2010 -0400 Windows: Handle RX_RESTARTING consistently for all RPCs Translate RX_RESTARTING to the same cache manager error code for all RPC classes. LICENSE MIT Change-Id: I4540e9886d1de68d9b3f8a2e72508f876225ff4a Reviewed-on: http://gerrit.openafs.org/2654 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 87c9e7e6e4f8be4778d183940f349557193146c7) Reviewed-on: http://gerrit.openafs.org/2701 commit 54fd97ac8c19dae4ff6524bd463cc01316fbf701 Author: Jeffrey Altman Date: Sat Aug 21 00:23:45 2010 -0400 Windows: Log cell along with volume id for server errors When logging server volume instance errors to the windows application event log, be sure to log the cell as well. Translating from server ip address is non-trivial. Make it easier for administrators triaging issues to plug the volume and cell info into vos commands. LICENSE MIT Change-Id: I801fcd5c1afba4a8cdef4386fec72b9a529d4cfb Reviewed-on: http://gerrit.openafs.org/2653 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit 2ef83d24846e6035b752fcbe98d980e046e074f9) Reviewed-on: http://gerrit.openafs.org/2700 commit 66221b5ba602e1ad1a292b09652fb6f4d965af6b Author: Jeffrey Altman Date: Sat Aug 21 00:22:22 2010 -0400 Windows: unix modes represented in octal Since unix mode bits are represented in octal in most cases make sure we log them that way. LICENSE MIT Change-Id: Ia8106c7bbd3230380c7efa437b6eb0a90398bda3 Reviewed-on: http://gerrit.openafs.org/2652 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman (cherry picked from commit a97282bf76730fd05c2365aa1c58ce96174efd37) Reviewed-on: http://gerrit.openafs.org/2699 Tested-by: Derrick Brashear commit 3edc17fd817359969ec1327115db10f0d4aa1066 Author: Derrick Brashear Date: Fri Sep 3 08:18:41 2010 -0400 rx msgsize retry logic change only rewrite to RX_MSGSIZE if the MTU changed. otherwise, leave well enough alone Change-Id: If7311c623c61064c52b42fbb131aa8ff007c3741 Reviewed-on: http://gerrit.openafs.org/2664 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit b91e7e86b429b6182d8ee23c471bef4f48af560f) Reviewed-on: http://gerrit.openafs.org/2698 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b030d05e0501790499d84d048f29549b9e0d1aa0 Author: Andrew Deason Date: Fri Sep 3 10:59:45 2010 -0500 cacheout: Improve error handling Bail out when we encounter errors in initialization. Among other things, this prevents a segfault if we can't read the client configuration. Change-Id: I8b35163c5c4750eb05539a225069327051a3f148 Reviewed-on: http://gerrit.openafs.org/2665 Tested-by: BuildBot Reviewed-by: Jeffrey Hutzelman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit defd84d0fb43a068d2b9ae88a103ffea266c8d95) Reviewed-on: http://gerrit.openafs.org/2697 commit a06053cbb4f0c32127a73aeeca90fc5309ff4c08 Author: Andrew Deason Date: Fri Sep 3 16:32:11 2010 -0500 vos: Show effects in single-volume dryrun mode Fix -dryrun mode for 'vos syncvldb' to also show the effects when run against a specific volume id. Change-Id: I3a2db96fc8016939f2f2f9561aba29527701ad59 Reviewed-on: http://gerrit.openafs.org/2667 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit e07f87070c901d71c2f4fa594738ce0a16c77ea1) Reviewed-on: http://gerrit.openafs.org/2696 commit 6f2ba2c18a0f0c154f3b6696fec694a9179b055f Author: Andrew Deason Date: Fri Sep 3 15:20:10 2010 -0500 vos: Show after effects in dryrun mode The dryrun mode of operation for 'vos syncvldb' and 'vos syncserv' does not currently show the "status after" portion of its output, so they don't really show what the commands will do. Change them so "status after" is shown for -dryrun when sync'ing servers or partitions, and count changes towards the count at the end. Change-Id: I6cc20c28a989925a1262570b286fdd7d290c0a9a Reviewed-on: http://gerrit.openafs.org/2666 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5705a46a75917cb34b4ea9161dde4ee43d0d4eb0) Reviewed-on: http://gerrit.openafs.org/2695 commit 0a7498a90b5257ca24e600a6913e8939cd81b3f7 Author: Marc Dionne Date: Sun Sep 5 10:48:52 2010 -0400 afs_DoBulkStat: don't call afs_Analyze without holding the GLOCK Limit the scope of the GUNLOCK-GLOCK blocks to cover only the RX calls. This prevents afs_Analyze from being called without the GLOCK, which causes an oops in afs_icl_Event4() where there's an ASSERT_GLOCK. Change-Id: Ifa6942d08f22479c0affba3ebd1fc9bf4063d8a5 Reviewed-on: http://gerrit.openafs.org/2668 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 526b8a7ca53977d6cdb91427932ac6b18bb7064d) Reviewed-on: http://gerrit.openafs.org/2694 commit 1df1d53a6e392eead9be6430e9294bc28480db45 Author: Andrew Deason Date: Wed Sep 1 11:14:37 2010 -0500 RedHat: Do not force krb5-config path If the %krb5config macro is not defined, do not force using /usr/kerbers/bin/krb5-config, since sometimes that is not where it is (RHEL6 puts it in /usr/bin). Instead only specify KRB5_CONFIG if krb5config is defined; otherwise let configure find krb5-config for us. Change-Id: I35cc03ddbba7edd2c03d8f72b9636d4a7f6e64c0 Reviewed-on: http://gerrit.openafs.org/2642 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 469cc14bd16b9e1a7ed8404224de63862c1f52f5) Reviewed-on: http://gerrit.openafs.org/2693 commit 6c05fc5c4d5db0e1504c6c69df880f023456ccb1 Author: Andrew Deason Date: Wed Sep 1 10:32:53 2010 -0500 RedHat: Update openafs.spec for configure changes We no longer have the configure options --enable-disconnected and --with-krb5-conf. Remove them from the spec file and instead specify krb5-config via the KRB5_CONFIG variable. Change-Id: Ic9d9505f0526e38bf084683d9be3367851005a97 Reviewed-on: http://gerrit.openafs.org/2641 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 83f85c9ad6c439eb9676436a3e09c40c2813f1c1) Reviewed-on: http://gerrit.openafs.org/2692 commit 8ff34a177197e3b62847856c4c9e97e910dba9ab Author: Andrew Deason Date: Wed Sep 1 10:18:17 2010 -0500 RedHat: Use git-version in makesrpm.pl We no longer have the OpenAFS version in the AM_INIT_AUTOMAKE. Get the version from the equivalent AC_INIT version, which is determined by running build-tools/git-version. So, run git-version to get the version. Change-Id: I5feb72ba35566315654ab88f2047be8a7ac6b40a Reviewed-on: http://gerrit.openafs.org/2640 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 346ccf51ddedadd7f6709276237c26b7871ffbaf) Reviewed-on: http://gerrit.openafs.org/2691 commit 92de18b6cc344b742261e4344070721fa909eb6c Author: Andrew Deason Date: Wed Sep 1 10:12:31 2010 -0500 RedHat: Use configure.ac in makesrpm.pl We don't have a configure.in anymore; instead we have a configure.ac. Change-Id: Ic79b5577cf2d5cd3021fe933ca5405fb2d514a4d Reviewed-on: http://gerrit.openafs.org/2639 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 86ccd1c0f486d38b13a71a3c99879f546ad18b15) Reviewed-on: http://gerrit.openafs.org/2690 commit f2e7059dbe1f7ce0297d6968a87841980dca6410 Author: Russ Allbery Date: Wed Sep 1 10:52:30 2010 -0700 Update Autoconf Kerberos probes to latest rra-c-util version We will now look for krb5-config in /usr/kerberos/bin (the path used on Red Hat Enterprise prior to RHEL6) if it isn't found in the user's PATH. This update also adds a new probe for krb5_get_init_creds_opt_free which is not yet used, but may eventually be useful for klog.krb5. Change-Id: Iefd67c02ac44fd5f1a30883d1cd6ea4e489b32b1 Reviewed-on: http://gerrit.openafs.org/2644 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ae868642e1936509184cbe9b539733445902bdf3) Reviewed-on: http://gerrit.openafs.org/2689 commit d622e893c12fa1b43e99dc12bd27ec7dc5c8bcfc Author: Jonathan Billings Date: Tue Aug 31 15:15:26 2010 -0400 Linux: Updated RedHat spec file with new demand attach servers and docs Added the following to the openafs-server package: dafileserver dafssync-debug dasalvager davolserver salvageserver salvsync-debug Added the man pages for the above. Added a man page for krb.excl Change-Id: Ifac99e77de4f7b07dc6e76df0237b1960a73cb0d Reviewed-on: http://gerrit.openafs.org/2630 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 69c1d5e2debdafd971216ab4afc3e90702d5860b) Reviewed-on: http://gerrit.openafs.org/2688 commit ccc9d2a37a652a823d01cefae51183dbd77e5568 Author: Hartmut Reuter Date: Tue Aug 31 13:30:41 2010 +0200 Let SRXAFS_GetStatistics64 return correct values for the workstations h_GetWorkstats was called also for 64bit which let random contents in the other half of the 64bit field. Worse: little and big endian machines filled different parts of the field so that a later masking in fsprobe would net help for all kinds of servers. Now a small wrapper h_GetWorkstats64 is called which calls h_GetWorkstats correctly. Change-Id: Iaeafd77dfa03d88caa98e4e352f95bfb33d736df Reviewed-on: http://gerrit.openafs.org/2629 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8006ff8bf4a6f1944243309e5130538e3cbe62d5) Reviewed-on: http://gerrit.openafs.org/2687 commit f3409e4d374f127ec8684c7d816553da38c58681 Author: Derrick Brashear Date: Sat Aug 28 17:19:45 2010 -0400 macos afsdb reinit resolver on address change assume a new address means we probably have new resolver info; reinit when we get the callback. FIXES 126440 Change-Id: I0d5ac0576f2b2e90093b93974b0354cac35d84a3 Reviewed-on: http://gerrit.openafs.org/2622 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5aa8c5d9794b909ef9195992ee12f963e254574b) Reviewed-on: http://gerrit.openafs.org/2686 commit 91be7d3b69627fe2920c6ab1b9eaac341cd87903 Author: Matt Benjamin Date: Sun Aug 29 15:06:22 2010 -0400 cache bypass Also increment page refcount in readpage As noticed by a commenter, afs_linux_bypass_readpage needs the same get_page operation as in afs_linux_bypass_readpages, as background page accounting assumes we have done it. Change-Id: Ib2e1cb7ec971e68b022dd1740584369d04b8b833 Reviewed-on: http://gerrit.openafs.org/2626 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit aaf9b4ddd5ce9ed83be038bba01199b1d400ddf3) Reviewed-on: http://gerrit.openafs.org/2685 commit 56e0c3d8edf223cab1c5ccd52f7d4a0bb0abf73b Author: Matt Benjamin Date: Fri Aug 27 19:11:32 2010 -0400 DFBSD update dfbsd userland Add new sysnames. Fix some userland header inclusions, defend against kernel-mode ioctl interpretation when building UKERNEL. Add fragments missing from DFBSD MakefileProto template. Change-Id: I56659bfe43dc24ef8a158aaf486c9a6f23643002 Reviewed-on: http://gerrit.openafs.org/2619 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 239a62034b849565d680baa9e5b8e6921256ffd5) Reviewed-on: http://gerrit.openafs.org/2684 commit 88bcd3ed6367280bd97ae56cc2c25308e82d86e0 Author: Matt Benjamin Date: Sun Aug 29 17:33:03 2010 -0400 FBSD try-relax child vnode locking (recurse only) In cases where afs_vop_lookup would return a child vnode locked, continue to take an exclusive lock, but allow recursion (LK_CANRECURSE). Allow recursion also at afs_vop_link, where we specifically encountered a conflict due to recursion. Change-Id: I5f5b0979ce3c86e517f96ea60b96ebdd26401acb Reviewed-on: http://gerrit.openafs.org/2625 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit ec85304dd738935d8be3f8934b166f78a10995bf) Reviewed-on: http://gerrit.openafs.org/2683 commit bcdd4fb476d9024de15d31da913aefe02ca3e88f Author: Matt Benjamin Date: Sat Aug 28 21:57:38 2010 -0400 FBSD, DFBSD (future) call afs_FakeOpen in the write path Call afs_FakeOpen in the write path, even though nominally it is AFS_VM_RDWR_ENV. Change-Id: I6d24c9631f80058e3dd0d6f284ca7792253ceaaa Reviewed-on: http://gerrit.openafs.org/2623 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit b727c1e748042e46f2a566725359fed0dd8a8f4f) Reviewed-on: http://gerrit.openafs.org/2682 commit 83b62c2d2b59b885b34c95b5d7e72d1bb7018fdc Author: Matt Benjamin Date: Sat Aug 28 20:43:41 2010 -0400 FBSD, DFBSD (future) vnode_pager_setsize updates Based on review of bundled filesystems on FBSD and DFBSD, call vnode_pager_setsize in three unhandled cases (getattr, setattr, and io growing a file; truncation was handled correctly already). Following up on a suggestion by Ben Kaduk. Change-Id: I05b61c26402bb8ab49ad74b71af2d02b439f959f Reviewed-on: http://gerrit.openafs.org/2621 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 8334b40376f4b820e5f08e0a1f477be7c04c5cc8) Reviewed-on: http://gerrit.openafs.org/2681 commit f15ddd746beb01c7e629d5fa1f60cd1b21753d1b Author: Matt Benjamin Date: Thu Aug 26 22:54:20 2010 -0400 FBSD restore old syscall register logic for older kernels The syscall_register code appears to depend on coordination with FreeBSD upstream, which hopefully can be completed by RELENG_9. Use the original code for installation of the AFS syscall everything older than that. Change-Id: I2954cf1a2ae3587a311e8133ec5cdc500b4e2e24 Reviewed-on: http://gerrit.openafs.org/2618 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit df4cf75b970f72810078fc788e732480dbb7996a) Reviewed-on: http://gerrit.openafs.org/2680 commit 6f088eaa2b38d867f855a780c2884cfb72d39d1c Author: Ben Kaduk Date: Wed Aug 25 23:21:30 2010 -0400 FBSD: properly register our syscall Use the provided interface, syscall_register(), instead of manually tweaking the sysent table. Starting afsd will still fail at present on FreeBSD HEAD without an additional kernel patch to syscalls.master. Change-Id: I18db7c8b74dbd114165f7617df25e462cb372e88 Reviewed-on: http://gerrit.openafs.org/2616 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5b71bab4ff0a0f6f1e0cec2c71adfd48b3f35cca) Reviewed-on: http://gerrit.openafs.org/2679 commit fe0ba8419395bb6594c9c9d1747d8cfe59b2398a Author: Matt Benjamin Date: Wed Aug 25 16:19:18 2010 -0400 FBSD: give osi_NetReceive time to shutdown, reprise The delay logic needs to follow soshutdown, and precede soclose. The thread in osi_NetReceive is racing to do another soreceive. That thread needs to win the race and notice the socket is shut down before rx_socket is torn down. Change-Id: Id8424dcfa2498550a190d277017b7ea15fc11023 Reviewed-on: http://gerrit.openafs.org/2613 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 2ea508ea0f320ca17de6df3526aa7237b998c7be) Reviewed-on: http://gerrit.openafs.org/2678 commit 1d07d92efdaef2e3d4bd6a7bb0b42c86fd552b98 Author: Matt Benjamin Date: Wed Aug 25 03:34:35 2010 -0400 FBSD CM: don't call afs_close when recycling Don't call afs_close when handling VOP_CLOSE on a recycled vnode, since there was no matching open. This corrects the opens count, which was seen to go have gone negative in the reclaim vop. For clarity, assert if afs_vop_close is entered with a VI_DOOMED vnode and avc->opens != 0. Change-Id: I511a4f2a924c2f8e20f3ecdaa445fbe803289a47 Change-Id: I1b2307fd3318fa54e8f7fb72a5d3f843e2a38404 Reviewed-on: http://gerrit.openafs.org/2612 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 5c0aebc421ddbed099a6fe1015cdda603e20529d) Reviewed-on: http://gerrit.openafs.org/2677 commit af0f3d85e7ebf711f7a9164e7f927061fadfadd2 Author: Matt Benjamin Date: Tue Aug 24 20:48:24 2010 -0400 BSD CMs: Don't call nonexistent afs_FlushVS in afs_vop_reclaim Revert BSDs to call FlushVCache in their respective reclaim vops, afs_FlushVS no longer exists. FIXES 127955 Change-Id: I842356c2d6ee4fa3a49eaa8594f1b52188c24985 Reviewed-on: http://gerrit.openafs.org/2611 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 3f7b70a28ba7dc03f0fc973343669f0a7967de4c) Reviewed-on: http://gerrit.openafs.org/2676 commit 9fad100d1bfa69e5ae9fb3a78677fe5b359bb47a Author: Andrew Deason Date: Mon Aug 23 14:03:03 2010 -0500 venus: build cacheout Build 'cacheout' in all builds, so it does not succumb to bitrot. Change-Id: If00ce1fd9dd49e92caa183dbb54f06b2edc4ece9 Reviewed-on: http://gerrit.openafs.org/2606 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear (cherry picked from commit a2821cdbd05b280e3dc886cfb094e4c040d45c6c) Reviewed-on: http://gerrit.openafs.org/2675 Tested-by: Derrick Brashear commit 71bf493e0ec7baa81f78a5cacf04a9783ee9a81b Author: Andrew Deason Date: Mon Aug 23 12:55:21 2010 -0500 venus: make cacheout build again Make src/venus/cacheout buildable again, by fixing several compiler errors and warnings. Also clean up a few small things, like adding 'static' qualifiers. Change-Id: I1cd10221a5e13a59227e4915991db6042325b7de Reviewed-on: http://gerrit.openafs.org/2605 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4b7038820c503445917087ca4034ae48c7803518) Reviewed-on: http://gerrit.openafs.org/2674 commit f820ab766e173ef708e6e5f1efb56bfb4dfd9ff3 Author: Simon Wilkinson Date: Sat Aug 21 12:05:37 2010 +0100 Don't include afsconfig.h in rxgen headers Some headers generated by rxgen are installed. We can't use afsconfig.h in installed headers, as it isn't installed (and it shouldn't be, as it contains autoconf defines which will almost certainly have namespace conflicts with other packages) Revert the portion of 972a407 that added afsconfig.h to the h_output function. This should now be safe as stds.h no longer relies on the result of autoconf tests. FIXES 127931 Change-Id: I75645620e46c4f354ca984a8daf99254650133f6 Reviewed-on: http://gerrit.openafs.org/2604 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 975b662d8ecabeb82ffd2a3a2dce0c8d6e6cc473) Reviewed-on: http://gerrit.openafs.org/2673 commit 14cc14d89b1a687d6694f2217c8b414f6c36a89c Author: Marc Dionne Date: Fri Aug 20 16:11:59 2010 -0400 s390x: only declare afs_sys_setgroups32_page where needed Variable afs_sys_setgroups32_page is only used when __NR_setgroups32 is not defined. Make the declaration depend on it as well to clear up an unused variable warning. Change-Id: I812b98d6ac4bf6ac923553ef3556c90d75d86fcb Reviewed-on: http://gerrit.openafs.org/2600 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 4129b055a6236e892e1dc2c5d2023d1947495811) Reviewed-on: http://gerrit.openafs.org/2672 commit 96d40120207e7eea31eed0bb408d2d8abfdaba59 Author: Marc Dionne Date: Fri Aug 20 16:37:56 2010 -0400 Fixes for signed char architectures "char" is unsigned on s390x, which causes a few warnings where we test for negative values. Add a signed modifier in a few cases, and in vos.c replace with an int to match a similar section of code in the same file. Mostly a warning fix, but in one case the variable could be used to return a -1 error value, so it may have caused an actual bug. Change-Id: I005fbcd7c573735df7403316ec0ced67ee81e559 Reviewed-on: http://gerrit.openafs.org/2602 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c2be1ee1d726463590ae1272495d102111fdf75b) Reviewed-on: http://gerrit.openafs.org/2671 commit 763d3c9bdc2eea8b94122e2b8a64fee0b84d89a0 Author: Marc Dionne Date: Fri Aug 20 17:42:47 2010 -0400 Ignore old style definition warnings in generated code Older flex can generate functions that trigger the "old-style-definition" warning. Since it's generated code, just ignore it. Change-Id: If475507561498b976a2942bd0084975814ab6a76 Reviewed-on: http://gerrit.openafs.org/2603 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit 850567f17285021d3133a75c1d0d3494e0faabfc) Reviewed-on: http://gerrit.openafs.org/2670 commit ac173619059525e4a40c9787ccb2910c6a46de95 Author: Marc Dionne Date: Fri Aug 20 16:27:44 2010 -0400 Prototype warning cleanup - big endian Move function definitions above their use in quad_cksum.c and remove the (incomplete) prototypes. Clears up a few warnings on big endian systems. Change-Id: Id860f904fff9fb033ee4b2032162304a4af7423a Reviewed-on: http://gerrit.openafs.org/2601 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit de341580a6003944f1ae4b01c56bf483ead857d1) Reviewed-on: http://gerrit.openafs.org/2669 commit db48e56a8b75f82e803517a86d2e72e2a56f96b5 Author: Jeffrey Altman Date: Tue Aug 17 01:24:39 2010 -0400 Windows: fix Freelance trailing dot enforcement The cm_enforceTrailingDot() function failed if there was a trailing dot followed by white space. LICENSE MIT Change-Id: Ib6a90420459a44b87995c44a5f58fcdcd5041c9f Reviewed-on: http://gerrit.openafs.org/2588 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear (cherry picked from commit a81c323fbd05cb5cb85c56dfcc0b540e0354f318) Reviewed-on: http://gerrit.openafs.org/2589 Tested-by: Derrick Brashear commit ccd13703d771e4e2a4df0483d9e5120663a1d1db Author: Jeffrey Altman Date: Tue Aug 17 02:13:31 2010 -0400 Windows: Fix remove 'register' patch The register removal patch broke the Windows build. Fix it. Change-Id: I0121da17a98e1eb35932d18c851989737d9325b5 Reviewed-on: http://gerrit.openafs.org/2571 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit eb49bd3df0f20cf99825002387c2dbceefe9b784) Reviewed-on: http://gerrit.openafs.org/2587 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 753a316821bf23a53a7ebef9b52122c39ee88b83 Author: Marcus Watts Date: Mon Aug 16 23:52:36 2010 -0400 death to trailing whitespace if we're gonna clean up... Change-Id: I5ab03f29468577b62dacab41a67eadfd8c43f812 Reviewed-on: http://gerrit.openafs.org/2463 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a531cb7069f3ced1aae5a1948d708a7f24539df Author: Marcus Watts Date: Wed Jul 14 23:13:20 2010 -0400 death to register in soviet compilers, compiler optimizes you. stop providing dated (and annoying for debugging) register keywords. Change-Id: Ibcac0aa3f353fe531b9be0beedca919fb947bfab Reviewed-on: http://gerrit.openafs.org/2436 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b44562f5dcda72a78fa12b47f8862f0a3c231aee Author: Derrick Brashear Date: Thu Aug 12 00:33:58 2010 -0400 openafs 1.5.76 make openafs 1.5.76 Change-Id: I56ef6618ae6ff8d0ee2e06a145aed7d61f98d682 Reviewed-on: http://gerrit.openafs.org/2537 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 523fde439847e2a32aa446ce94c65436dceeb8f8 Author: Jeffrey Altman Date: Thu Aug 12 01:47:41 2010 -0400 Windows Change Log for 1.5.76 Change-Id: Ia5004d37fceb506ed7ca894f31a903d2b8cb66cb Reviewed-on: http://gerrit.openafs.org/2540 Tested-by: BuildBot Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 67ca70bfd3dcb2b5fc9d318b0be6817188302dc3 Author: Jeffrey Altman Date: Mon Aug 16 14:27:44 2010 -0400 Windows: Return error for SetToken PIOCTL_LOGON if not LocalSystem If the PIOCTL_LOGON flag is set and the user is not LocalSystem, return Access Denied. LICENSE MIT Change-Id: I25f042353fb8b70aba4fb01ba1a5b204470416f5 Reviewed-on: http://gerrit.openafs.org/2568 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ce2422000446eed0e4a6edf926df4fe93206508d Author: Jeffrey Altman Date: Mon Aug 16 10:09:22 2010 -0400 Windows: prevent buffer overrun in cklog The Windows version of klog.exe will overwrite the realm and password buffers if the command line input is too long. Generate an error and terminate the program instead. Change-Id: I80671adcf92e9140f14a943b2677a352d2223eee Reviewed-on: http://gerrit.openafs.org/2558 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 22f6306cc8651f08841c66cd222c27c70ec5a00f Author: Jeffrey Altman Date: Thu Aug 12 01:48:16 2010 -0400 Windows: Only Local System Account may set tokens for alternate ids Only permit tokens to be set for alternate ids from the system account. LICENSE MIT Change-Id: Ibeaf16950b0317db99dfebccb9534697a258db78 Reviewed-on: http://gerrit.openafs.org/2541 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 5e8d0a7b5fc9711551d707ce3639e080450084a3 Author: Jeffrey Altman Date: Fri Aug 13 20:58:43 2010 -0400 Windows: Parse Freelance entries and enforce trailing dot but no trailing ws Make sure that there is a trailing dot and no trailing whitespace for both Mount Point and Symlink entries read from the Freelance registry key. LICENSE MIT Change-Id: I339d1bd2a8fc3e5f44362c65e872396adf64fdf6 Reviewed-on: http://gerrit.openafs.org/2555 Tested-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit e8bb948db17d7e4f734b9785f6f1b09c7efebde9 Author: Chaz Chandler Date: Wed Aug 4 11:17:03 2010 -0700 autoconf detection of label support acinclude.m4 now has struct label support detection and sets HAVE_STRUCT_LABEL_SUPPORT in afsconfig.h. Obviates complicated ifdefs in various src/afs/ and src/rx/ files. Must run regen.sh to generate new configure and afsconfig.h.in, then configure will detect label support and set afsconfig.h appropriately. Not sure what to do for Windows, but should be a step in the right direction. Fixes issue with compilation of libuafs on IRIX and sunpro by accurately detecting label support. Change-Id: I092eda47c4cfcc2517dc39f5e48b5038c413cb01 Change-Id: I2ff8449b28db645d9cfd27796b5f89e5c328a2b2 Reviewed-on: http://gerrit.openafs.org/2516 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 90b75531add729ecbcc46f2a6fb070993b96bcec Author: Marc Dionne Date: Thu Aug 12 16:33:04 2010 -0400 Linux: avoid oops in memcpy_toiovec With ADAPT_PMTU enabled, kernel_recvmsg can be called to receive errors. The call is made with no iovec supplied (we pass a NULL pointer), but with a size of 256. In the kernel, the memcpy_toiovec function tests for size > 0, and proceeds to check iovec->iov_len, which causes an oops. Fix by setting the size to 0. Change-Id: I3c672c2e67d0aa5af2bd54d0c14aaeae3bb3c530 Reviewed-on: http://gerrit.openafs.org/2546 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 08552ad8a94f7cc5908aabe8385711e09a6418e4 Author: Marc Dionne Date: Wed Aug 11 19:28:53 2010 -0400 Linux: Rework statfs super block operations configure test The configure test to detect if the statfs super block operation needs a dentry argument is based on vfs_statfs, and assumes that its signature matches the one of the operation. In 2.6.36 this is no longer true and the test fails. Rework the test to actually test the operation we're interested in. This change is required for 2.6.36. Change-Id: I5a712fb47e48c1bcc7ea2cfbf6c53c2b27627723 Reviewed-on: http://gerrit.openafs.org/2545 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fb01fbd7cd2d396df8a4605eaad9febc52ef3b61 Author: Marc Dionne Date: Wed Aug 11 18:55:29 2010 -0400 Linux: switch to evict_inode In 2.6.36, the delete_inode and clear_inode inode operations are replaced by evict_inode. Rename our current clear_inode to evict_inode, and add a few things that were previously handled by the generic delete_inode. This is required for 2.6.36. Change-Id: I68d75830b43df710ccce173ab36f3bb39074c59e Reviewed-on: http://gerrit.openafs.org/2544 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eaf3378f537935f6b9843886b43d8b6d38a91a92 Author: Marc Dionne Date: Wed Aug 11 18:20:59 2010 -0400 Linux: adapt to truncate sequence changes As part of changes to the truncate sequence, inode_setattr() no longer exists, and all filesystems have to define the setattr op so we can assume that it is not NULL. Introduce a compat inline function afs_inode_setattr that hides the tests and the different versions from the main code. Note that the existing test for the inode_setattr() return type will fail, but the value is no longer used in that case. This is required for 2.6.36 Change-Id: I2f5e8a0b660b48453d0152b6c4db64e57539f91a Reviewed-on: http://gerrit.openafs.org/2543 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d4018b2673e6532543984838290ffb891b970fea Author: Marc Dionne Date: Wed Aug 11 17:18:32 2010 -0400 Linux: use %pI4 if NIPQUAD is not available The definition of NIPQUAD has been removed from the kernel headers in the mainline kernel. Replace it by using the %pI4 format specifier which takes the IP address as a single argument. There should be no change in the output. This fix is required for 2.6.36. Change-Id: I269e5bd754b7aef49b005081eb6b3af1b2679293 Reviewed-on: http://gerrit.openafs.org/2542 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3121a07fbfd4bf3991a933b80a9ad8f4cda285ae Author: Derrick Brashear Date: Thu Aug 12 00:48:45 2010 -0400 disable pmtu error gathering don't enable kernel pmtu, don't collect errors. a report from Marc Dionne suggests there are still issues here Change-Id: Ib54fa522ba53efe50e8f08b27422ebfc8af7f9e5 Reviewed-on: http://gerrit.openafs.org/2538 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 03f76092bdb6c011e539a125729efe330227f8b2 Author: Jeffrey Altman Date: Thu Aug 12 00:48:44 2010 -0400 Windows: comparisons of nul strings should match When comparing nul strings in cm_strnicmp_utf8 and cm_strnicmp_utf16 the functions should return 0. LICENSE MIT Change-Id: I30c1321f42135a5e0160407467549b13cc92393f Reviewed-on: http://gerrit.openafs.org/2539 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 3daf18a3cbadd1db07839708cf45426003a2bca5 Author: Andrew Deason Date: Tue Aug 10 14:16:39 2010 -0500 viced: VNOVOL on deleted volumes When the volserver deletes a volume, the fileserver should respond to future access to that volume with VNOVOL and not VOFFLINE, since the volume doesn't exist anymore. Do this in DAFS via a new state, VOL_STATE_DELETED, and in non-DAFS by just setting specialStatus to VNOVOL. In the future we should also make sure the vp's for deleted volumes get freed after a couple of hours, but not yet. Change-Id: I6dec3e0a5e9e54f6ad09fad9f2355b513cce3bf6 Reviewed-on: http://gerrit.openafs.org/2533 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 72da1d2eb2567f9e5e1b3d5aebc73654785f99a6 Author: Andrew Deason Date: Fri Aug 6 14:32:16 2010 -0500 volser: Ignore duplicate file tags when restoring Currently, if the volserver encounters multiple file tags for a vnode when restoring a volume dump, it will create extra vnodes which are not recorded anywhere, and are leaked when the volume is removed. Instead of doing that, ignore any duplicate file tags that are encountered (which is what happens with other tags), and log a warning. Change-Id: I1ac76b0217096d013db355b899f1a53174d20eb5 Reviewed-on: http://gerrit.openafs.org/2531 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f7d298d367cc5deea00a44601f845f543993ef09 Author: Simon Wilkinson Date: Wed Aug 11 23:14:31 2010 +0100 LINUX: More flock fixes Turns out the we have two almost identical lock routines on Linux, one for POSIX locks, and one for flocks. Fix them both. Also, while we're at it, make the same fixes in the LINUX24 tree. Thanks to Andrew Deason for pointing out the oversight in the original patch (5abe706a7e237d3872db3638d947a14c935370d5) Change-Id: I59f0f1e12af36a97e490df36537ac17e8ed87303 Reviewed-on: http://gerrit.openafs.org/2535 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Jeffrey Altman commit 5a2ae98327520a6936d8bbe6b2a9128dc45a2406 Author: Derrick Brashear Date: Wed Aug 4 09:38:10 2010 -0400 fs discon support alternate uid this is a short-term hack. macos lacks pags, and anywhere without pags won't have tokens when fs discon online is run as root unless the tokens are explicitly set for root... which can be bad mojo. instead, allow a uid to be passed in. Change-Id: I44ebf9468976fa43d449f72d392fbb9e830e44d6 Reviewed-on: http://gerrit.openafs.org/2515 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e6aa0b38e9970ca10e498e03b0149f895edf9e73 Author: Derrick Brashear Date: Mon Aug 2 14:02:37 2010 -0400 macos disconnected vnode holding fix tweak how we hold vcaches to avoid issues with the underlying vnode having an iocount underrun due to races. Change-Id: I96526ed52c11aac1124a8cf66458ba3e25e7efb2 Reviewed-on: http://gerrit.openafs.org/2501 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5abe706a7e237d3872db3638d947a14c935370d5 Author: Simon Wilkinson Date: Wed Aug 11 17:25:36 2010 +0100 LINUX: Use correct type of error in flock code The flock code gets a kernel error code from afs_posix_lock_file() but then passes this error code through afs_convert_code (which sees that it is already negative, and returns EIO). Instead, we should just return afs_posix_lock_file()'s code direct to our caller. Change-Id: I28bbc2dc8535d28a4e9e9f564392fd4cbfa76569 Reviewed-on: http://gerrit.openafs.org/2534 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bc6fe06ae5829676b84028adc2aa088c8e69574f Author: Jeffrey Altman Date: Wed Aug 11 01:10:38 2010 -0400 Windows: cm_Analyze should treat VOFFLINE like VMOVED or VNOVOL Volume package bugs in the file server can result in VOFFLINE being returned to the client instead of VNOVOL or VMOVED. As a result the Unix CM treats VOFFLINE the same as VMOVED and VNOVOL. The Windows client has not. As a result, bugs in the file server can cause the Windows client to lose if the volume has in fact been moved to another server. As part of this change, the volume location list is updated prior to the volume status being applied to the server from which the error was received. LICENSE MIT Change-Id: I01036aa9d1999d0ba6822beb1b73500d365bf0b3 Reviewed-on: http://gerrit.openafs.org/2532 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 219ab91243b8c9c5ffbfa459047968145debee9c Author: Andrew Deason Date: Tue Jul 27 16:22:47 2010 -0500 salvage: update inodes array after CopyAndSalvage CopyAndSalvage makes a copy of the directory to salvage it. So, the new directory will have a new inode. Update the array of directory inodes to reflect this. Without this, we can fail to alter the copied/salvaged directory later on, since we will try to read/write to the wrong inode. Change-Id: I2466981e8ee54c5aecf1a166a37d8146b126de24 Reviewed-on: http://gerrit.openafs.org/2530 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9903f4805e27583a3483db412479fdc604fdd0b6 Author: Andrew Deason Date: Tue Jul 27 17:22:49 2010 -0500 salvage: Remove redundant 'code' declaration 'code' is declared at the top of SalvageVolume; no need to declare it again in a lower block. Change-Id: I9b48830c17e5043e6abcda4dd4dd3cc040031d9a Reviewed-on: http://gerrit.openafs.org/2529 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 56218cab39d522cb6911620bbf34d0236bfd3052 Author: Andrew Deason Date: Wed Jul 28 12:01:01 2010 -0500 salvage: Do not look at not-found root dir If we have not found any root directory, don't even look at 'oldrootdir' or 'rootdir', since they will be uninitialized at this point. Change-Id: Ia1a7037e06a223a7e1fbc48c0bfadd3b7aaa0e4b Reviewed-on: http://gerrit.openafs.org/2528 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1c002a5b5d29532b8c12097ad717c676a3285f28 Author: Andrew Deason Date: Wed Jul 28 12:00:37 2010 -0500 salvage: Zero corrupted header In the salvager, if we read in a corrupt header (either we get a short read or the magic is mismatched), make sure we zero out the contents, so we don't read garbage further on. Change-Id: Ifb4b9fc1b25d5eab470f0950a1d3bb240f75b0d3 Reviewed-on: http://gerrit.openafs.org/2527 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9da5e4700b81be7d78e4fc54bc4dd31d582be349 Author: Andrew Deason Date: Wed Aug 4 21:33:05 2010 -0500 tviced: Fix serialize_state.o objdir At least some makes treat ./serialize_state.c as only in the current dir, ignoring VPATH. So just specify serialize_state.c. Change-Id: I250886cb4bbfb955984b39c5a7d1a1acd5d9e0c4 Reviewed-on: http://gerrit.openafs.org/2524 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cdbf7827ef984be8342b284c7830c40dcef1335f Author: Andrew Deason Date: Wed Aug 4 17:08:37 2010 -0500 Eliminate $< outside of pattern rules The $< variable in makefiles is not portable when used outside of pattern rules. Replace each usage with the actual name of the file we want. Change-Id: Idc9309e7d7bd3b1bd93e8225507b8b53c9433d69 Reviewed-on: http://gerrit.openafs.org/2523 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 16bad29f0301db64c38bc66cb760c04399c0c7bb Author: Andrew Deason Date: Wed Aug 4 14:49:28 2010 -0500 Fix objdir install/dest targets Many 'install' and 'dest' targets were referring to source files without a srcdir prefix. Fix them so we can 'make install' / 'make dest' with objdir. Change-Id: Id76c5e326309baf8ec3f1213ecb2e40b19aea7d4 Reviewed-on: http://gerrit.openafs.org/2522 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 17a57cdafeac2b362e4edc50370962883f7ec052 Author: Andrew Deason Date: Wed Aug 4 14:01:51 2010 -0500 tubik: Fix objdir builds - Make netutils.c include afs/dirpath.h, so we don't have to find the correct include dir for "dirpath.h" - Fix dependencies in tvlserver, tbudb, and tptserver, and refer to sources in srcdir where appropriate Change-Id: Id9c2b3eefaa9d02ccb197a61341776444b958cdc Reviewed-on: http://gerrit.openafs.org/2521 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a5ff380e891db1c9ed0ec3875ce9b34d03976a8e Author: Andrew Deason Date: Wed Aug 4 13:59:35 2010 -0500 Fix afsd.fuse for objdir builds afsd_fuse.o could not find afsd_fuse.c for objdir builds. While we're here, make the afsd_fuse.o rule more closely match the rules close by. Change-Id: I675359134e2672cb36c9eb780edefb498d498bb1 Reviewed-on: http://gerrit.openafs.org/2520 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b832cdc1c7e462ca7c87ea16abdf694bac1bc272 Author: Andrew Deason Date: Wed Aug 4 11:19:35 2010 -0500 rxgen: Error out if cpp exits with error If we call 'cpp' and it returns with an erroneous exit code, exit with an error ourselves. Otherwise we will return success and generate empty results even if the input file is unreadable, for instance, which causes confusing errors later in the build. Change-Id: Ia12dc58eee0937a6bd529dcd6b552e253dbc40c8 Reviewed-on: http://gerrit.openafs.org/2519 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a4267ef14008daad45c1a64edf5649fc6bb333f0 Author: Derrick Brashear Date: Fri Jul 23 11:27:46 2010 -0400 namei decodevolume allow low volume ids the smallest thing which can be encoded is a single character; also allow it to be decoded, such that low numbered volumes are treated as valid. Change-Id: Ia5e694f7f73e1035af741bd23c7f50805910d0c4 Reviewed-on: http://gerrit.openafs.org/2470 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aa24d1392c31dc725a85ffe179adf6eca2fa683f Author: Jeffrey Altman Date: Thu Aug 5 15:07:47 2010 -0400 Windows: add flags field to smb_ioctlProc_t function signature Add a general framework to permit flags to be passed into the smb ioctl interface functions. This patchset does not define any such flags. LICENSE MIT Change-Id: I9a894a186c4ca455116ea79bdd6c3cc0d02a2dc3 Reviewed-on: http://gerrit.openafs.org/2525 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit ed428869276d07e8dc886a1ee02893bb9cc09e1f Author: Simon Wilkinson Date: Sat Jul 24 14:21:52 2010 +0100 Unix CM: Remove erroneous comment Despite what the comment says, shutdown_axscache does have a caller, so just remove the comment lest it confuse people. Change-Id: I0491bf4f945c372d7ddbafb7a43390821c95a0c1 Reviewed-on: http://gerrit.openafs.org/2471 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f6a91a28ccd38cdaa917cbd140c567dbd1651322 Author: Jeffrey Altman Date: Thu Aug 5 01:43:24 2010 -0400 Windows: optimize buf_FlushCleanPages If the pages to be flushed are from a readonly or backup volume they can't be dirty. In this case there is no need to stabilize the pages before they are locked and recycled. Stablilization is performed on the cm_scache_t object so do not stabilize and unstablize for each cm_buf_t object. LICENSE MIT Change-Id: I6fa86cf0a33dc9f45d77911909e799c0fc6510cf Reviewed-on: http://gerrit.openafs.org/2518 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit f08e953e62148bd2f9200040a8e34ef07b51b35d Author: Andrew Deason Date: Wed Aug 4 22:49:29 2010 -0500 Unix: docbook revision tag requires a date The docbook DTD requires a element to contain a element. So make a blank one even though we don't keep track of a date, so we can pass xmllint. Change-Id: I06e68b756d215ec3ce279561a05b5bc5fc418028 Reviewed-on: http://gerrit.openafs.org/2517 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0080e261cda46f53b952a0e5133fb94414f17a9 Author: Andrew Deason Date: Tue Aug 3 17:32:11 2010 -0500 Add DAFS docs to the Unix Quick Start guide Modify the sections dealing with creating the 'fs' bnode to also mention how to create the 'dafs' bnode, and add an appendix explaining DAFS and the differences between DAFS and non-DAFS. Change-Id: I026405dbc3838a9a0247b85cbdc508d6be93275d Reviewed-on: http://gerrit.openafs.org/2508 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ae1ac72783dee7cfd23538e95a1ad358a17373cc Author: Andrew Deason Date: Tue Aug 3 12:01:07 2010 -0500 HPUX: Add limits.h to sysincludes xdr_mem uses INT_MAX, so we need limits.h in the kernel for HP-UX. Change-Id: I5c75f9d3cb9cfd5da78cf625f042c1dee862dcd7 Reviewed-on: http://gerrit.openafs.org/2506 Tested-by: BuildBot Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8e5d6ce1506cc9e65ad51b1c5f76e0a29616231c Author: Derrick Brashear Date: Wed Aug 4 09:22:20 2010 -0400 fix unlabelled xdr field order on sun457 kernel for now alternate to 2503 (which we will push after branching) Thanks to Andrew Deason for discovering this issue. Change-Id: I3a43bb1eab1a753f099c9d21e440f6660c706e37 Reviewed-on: http://gerrit.openafs.org/2514 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7556326e012c74a21c2459c19cdf8317b5156f2a Author: Derrick Brashear Date: Wed Aug 4 09:04:34 2010 -0400 discon remove dirty vcaches from queue when discarding the discardall loop was not dequeueing vcaches, meaning we would loop. caught by Simon Wilkinson Change-Id: I80256ef5f91d7030e0cb11e78a79f137a217a29a Reviewed-on: http://gerrit.openafs.org/2513 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6d0b97c7ac89219c0b708d1afbd4d7b8c8ec717d Author: Derrick Brashear Date: Wed Aug 4 09:02:54 2010 -0400 reorder vcache references in discondiscardallshadows reset the vcache before we (nominally, it's still under a lock) discard it. remove superfluous shadow clearing. Caught by Simon Wilkinson Change-Id: I55b91fa4f2f92a8b6fd1f8117c2448f7a7d1d98a Reviewed-on: http://gerrit.openafs.org/2512 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 85e29294eef44fcc52b0583c70debcae452e829d Author: Derrick Brashear Date: Wed Aug 4 09:00:58 2010 -0400 discon getparentvcache leak fix don't leak an unref'd vcache pointer if we are returning an error (EAGAIN). thanks to Simon Wilkinson for catching this. Change-Id: I40c5aa0fd50e1f2c76b09ba073a7109bca706d8c Reviewed-on: http://gerrit.openafs.org/2511 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bfae6b76c4e27c77299df149a42aebb406c653e Author: Derrick Brashear Date: Wed Aug 4 08:42:16 2010 -0400 discon needs static_inline macro don't use static inline keywords in common code. Change-Id: I29cbe312e27c8fb75d2d07f720789a4a5b900fa5 Reviewed-on: http://gerrit.openafs.org/2510 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b82ac032a6ac99db18019bfedf4100c9354a140c Author: Derrick Brashear Date: Wed Aug 4 08:41:00 2010 -0400 darwin unused prototype we don't gave our own vn_rele. don't prototype it. Change-Id: I3a2d193c95a2d63c8d80054dd4600f949d1a01d2 Reviewed-on: http://gerrit.openafs.org/2509 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a5bcd61a16a3d6b0b458f4710c0d537cfee7743d Author: Andrew Deason Date: Thu Jul 29 14:47:03 2010 -0500 util: add afs_exec_alt Add the function afs_exec_alt to help programs easily execute an "alternate" version of themselves. For example, for programs that are built with/without DAFS support, or are built for 32-bit/64-bit structures, etc. Change-Id: Ibb2b7105d58476f84bd9f15987f8b7df37314b6b Reviewed-on: http://gerrit.openafs.org/2483 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6b6535279a558d0d25b95e4ab4038e7ac9699797 Author: Andrew Deason Date: Tue Aug 3 15:44:52 2010 -0500 tbudb: Use INSTALL_PROGRAM, not INSTALL -f "$INSTALL -f" is not portable. Use $INSTALL_PROGRAM instead. Change-Id: I5013476cc036350b0b61b6e3c01a86d303aa70b6 Reviewed-on: http://gerrit.openafs.org/2507 Reviewed-by: Derrick Brashear Tested-by: BuildBot commit ba7d8d78104d870e9c1d984ac10843918513eef1 Author: Jeffrey Altman Date: Mon Aug 2 23:28:39 2010 -0400 Windows: Reduce complexity of Freelance Callback Logic Over the years the processing of the Freelance callbacks have added functionality that behaves much more like FetchStatus checks to a file server. If the data version of the object has changed, get the new data. Given that is the case, we can remove much of the original refresh logic that is rather race prone. Say goodbye to cm_fakeGettingCallback and cm_fakeDirCallback. LICENSE MIT Change-Id: I249c84201afc16611039b2ba0801a643fcf05f28 Reviewed-on: http://gerrit.openafs.org/2505 Tested-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit a03f1960da3a68cd8453960302be0319a7bb45ae Author: Jeffrey Altman Date: Mon Aug 2 16:06:39 2010 -0400 Windows: When processing pioctl paths ensure callbacks are obtained When processing a pioctl path with either smb_ParseIoctlPath or smb_ParseIoctlParent, cm_SyncOp(CM_SCACHESYNC_NEEDCALLBACK|GETSTATUS) must be called on the cm_scache_t object to ensure that it is up to date before we permit cm_Lookup or other operations to be performed on it. Add the cm_SyncOp() call to smb_ParseIoctlPath and smb_ParseIoctlParent to ensure it is done for all pioctl operations. LICENSE MIT Change-Id: I2fe5d5ec2567693155277b40929dedb8155d9ebf Reviewed-on: http://gerrit.openafs.org/2504 Tested-by: Jeffrey Altman Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit fccd35961f1f3324df7dbdea03790ee0b525d9f1 Author: Derrick Brashear Date: Mon Aug 2 14:51:39 2010 -0400 fs disconnected remove ifdefs disconnected is always on; remove the ifdefs around it Change-Id: Iaa982f83f7619fc0ad1162a64b68231e02eae916 Reviewed-on: http://gerrit.openafs.org/2502 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit deb96d3986bedc1defc921b88abb88e4aefb55e4 Author: Jeffrey Altman Date: Mon Aug 2 13:30:30 2010 -0400 Windows: docbook revision tag requires a date Even if we can't generate a date, we must include the date tag within the revision tag in order for the docbook dtd to be applied and pass xmllint. Change-Id: Ic58995ecd7b07a1163f0965e22bcd78769d4565e Reviewed-on: http://gerrit.openafs.org/2500 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c5ffaf7a3c179c77398e1d0a007b870a9c45e053 Author: Asanka Herath Date: Sat Jul 31 04:30:10 2010 -0400 Windows: Don't configure client when not installing client The 32-bit tools installer was displaying client configuration wizard pages. Since, the 32-bit tools share configuration with the AFS service, the 32-bit tools installer should not be attempting to change client configuration. Remove said wizard pages from the 32-bit tools installer. Change-Id: Ib52b5741d5d412b1aea1856e0304364ed928b2ba Reviewed-on: http://gerrit.openafs.org/2492 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 60878f4d2a6f5d02f067efead99d371eafe6668b Author: Asanka Herath Date: Sat Jul 31 13:07:44 2010 -0400 Windows: Fix MC options Newer versions of the Message Compiler included with Windows SDKs break when using the -s option. Remove it. Change-Id: I71bcd2d5aa000b11c44b77ce4687bc0f070699b0 Reviewed-on: http://gerrit.openafs.org/2495 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 5e946d5b6672d4dea7dd1c3ee669245b3d2ced92 Author: Andrew Deason Date: Fri Jul 30 15:32:53 2010 -0500 ptserver: Do not use cell for entry name len check Do not use the local cell name when determining if a new entry name is too long. This check assumes that foreign cells will use our local cell name (assumed to be our local Kerberos realm) in a certain way, and prevents creating users that will make those names too long. This is undesirable for several reasons. One is that the local realm name may not be the same as the local cell name (and we may have many local realms). Another is that we cannot reliably predict how foreign cells will construct foreign pt entry names, so preventing entry creation based on that may prevent names that will never cause any problems. This check also assumes that our names will be used as foreign entries in other cells, which may not be the case. So, remove the check based on the local cell name, and remove the pr_realmNameLen variable while we are at it, since this is all it is used for. Thanks to Jeffrey Altman for discussion, and for bringing this up in the first place. Change-Id: Ief4bc94d9ead61a1589797b5dc663a6473c9ed72 Reviewed-on: http://gerrit.openafs.org/2488 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 89afd3c21e816c29f497c10cf76673d009cdd919 Author: Jeffrey Altman Date: Sat Jul 31 00:21:06 2010 -0400 Windows: Do not reference cm_data.rootSCachep directly cm_data.rootSCachep is a global pointer to the cm_scache_t that represents the root.afs volume root directory. Throughout the code this cm_scache_t was being used without ensuring that a callback to the volume is in fact valid. Under most circumstances this would not be a problem. However, it is possible for a request to fail due to the lack of a callback at a critical moment. Add a new function cm_rootScachep() that attempts to ensure that a callback is present (if possible) prior to use the cm_scache_t object. LICENSE MIT Change-Id: I997dc05a2214788d32727c261947206a61cd8d32 Reviewed-on: http://gerrit.openafs.org/2491 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 78f99d4a025d3b369d3ad4939098ea868feb6cfc Author: Jeffrey Altman Date: Sat Jul 31 00:05:24 2010 -0400 Windows: Update root.afs scache dv when Freelance dir bufs are regenerated When the contents of the Freelance root directory changes the fake directory buffers are updated and a fakeDirVersion is incremented. The dataVersion of the cm_scache_t object is supposed to be updated on the next access by performing a fake get callback request. Unfortunately, this did not always occur because of a race. If another Freelance object is updated first, the root directory object would never successfully get a fake callback. This patchset ensures that the generation of the fake directory buffer content and the callback are obtained under the same set of locks thereby removing the race. LICENSE MIT Change-Id: Ic8c77fc3c652cd056f84db55ca6db32499bcb0c9 Reviewed-on: http://gerrit.openafs.org/2490 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 9ec343cf4292e178fa1e4a9757232dc983ea9ba3 Author: Jason Edgecombe Date: Sun Aug 1 21:39:56 2010 -0400 Factor out the common text in vos_addsite, vos_copy, and vos_zap Factor out some common options out of the man pages. LICENSE IPL Change-Id: Ic79e53a2d6464cc62d49987ab58d38c9898f372b Reviewed-on: http://gerrit.openafs.org/2496 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 78dcbd11d49bf9ae078639d067832fdf331daaa1 Author: Asanka Herath Date: Sat Jul 31 12:43:47 2010 -0400 Windows: Build preprocessed POD documentation Change-Id: I0b849bf52094a1b6ca0e45db5e2f92ff58b8efba Reviewed-on: http://gerrit.openafs.org/2493 Reviewed-by: Jeffrey Altman Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 39643598a216c2e892cd94ccb441180a4c4f949e Author: Andrew Deason Date: Mon Aug 2 00:44:37 2010 -0500 SOLARIS: let xlator load if amd64/nfssrv is loaded The NFS translator-enabled kernel module refuses to load if misc/nfssrv is not also loaded. We were only checking misc/nfssrv and misc/sparcv9/nfssrv, though, not misc/amd64/nfssrv. Check that, too, as it may be loaded on amd64 machines. Reported by Robert Milkowski. Change-Id: Idbb9c4136b87ffa4c72ca376738001fb6a3ca7d8 Reviewed-on: http://gerrit.openafs.org/2497 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c53513e834ab965daebb5ce433cd6b7dc88dab8e Author: Jeffrey Altman Date: Mon Aug 2 09:49:26 2010 -0400 Windows aklog: remove lstat preprocessor definition lstat is now defined globally in the build system. remove redundant definition. LICENSE MIT Change-Id: I91f90f571ffd2dfe1544ce17b50e5577acc5adbc Reviewed-on: http://gerrit.openafs.org/2499 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 571204f343014d5f84ddbcf4ad63a8ebd469f006 Author: Jeffrey Altman Date: Mon Aug 2 09:48:07 2010 -0400 Windows aklog: include afs/pterror.h pterror.h is required for initialize_PT_error_message LICENSE MIT Change-Id: Ie487c6b03ff6ca4cac30ccac9f2a67fdd89e6aaa Reviewed-on: http://gerrit.openafs.org/2498 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cf0d7fea04923b39ccae0e9083c525b91642f49d Author: Asanka Herath Date: Sat Jul 31 04:00:41 2010 -0400 Skip over 'fragments' directory when scanning for PODs The generate-html script scans the directories to compile a list of POD files. The list of candidates include the 'fragments' directory, which causes an error when the script attempts to open it as a file. Change-Id: If1208561f58f869ccba60f4a263bee5200dad1ed Reviewed-on: http://gerrit.openafs.org/2494 Reviewed-by: Jeffrey Altman Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit ebf36d27c66f18d8fa88ec8f7cacec3ef0c311d7 Author: Andrew Deason Date: Fri Jul 30 12:03:06 2010 -0500 ptserver: Allow longer foreign user names The ptserver was restricting all names to be less than PR_MAXNAMELEN - pr_realmNameLen - 1, so that the local realm and a '@' can be safely appended for foreign user registration. This check is overly restrictive for foreign users, since the local realm will never be appended to the user name (it already has the foreign realm name appended). So, just check for PR_MAXNAMELEN for foreign users. Original issue reported by Gunnar Krull. Change-Id: I34c5d908cc2c1b3abe87966115e6ada74c9a93a9 Reviewed-on: http://gerrit.openafs.org/2485 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 429feee73d977b7329ec258d5c1aa369b8f349c6 Author: Andrew Deason Date: Fri Jul 30 14:45:29 2010 -0500 Document krb.excl Change-Id: I0ac49b6d705190f877f6b09b69a3efe24b5c3d8e Reviewed-on: http://gerrit.openafs.org/2487 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b0a003fd8d3d1d34dbd6248bf1acec141954f080 Author: Ben Kaduk Date: Fri Jul 30 21:20:06 2010 -0400 FBSD: update ifa_ifwithnet usage FreeBSD 8.1 (and 9.0) now require a second parameter to ifa_ifwithnet. Fix the build by using the same macro as OBSD46. Change-Id: I22eac8722bef79b6349b9d879eb42d63450b362e Reported-by: Jan Henrik Sylvester Reviewed-on: http://gerrit.openafs.org/2489 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ea8be82b95972d46882e8e7fce91a1973c966049 Author: Andrew Deason Date: Thu Jul 29 13:02:47 2010 -0500 Document the 'vos offline' -busy and -sleep opts Change-Id: I68d374a206a398467e5980a87b3ca2ad41bf9653 Reviewed-on: http://gerrit.openafs.org/2482 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 11854c734adb7e184484c262d244401be6656eee Author: Andrew Deason Date: Thu Jul 29 12:43:25 2010 -0500 Remove bless-related options from vos manpages 'vos online' and 'vos offline' were documented as taking -bless and -unbless options, respectively. They do not actually take these options, and since adding that functionality, while useful, will require protocol changes, they are likely to take some time to appear. Change-Id: I91800e9637162e24873beac5d41f3ad456f25af8 Reviewed-on: http://gerrit.openafs.org/2481 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 56cf5a9f5f61207b449e9b62e9f926a7dc488575 Author: Andrew Deason Date: Thu Jul 29 10:36:56 2010 -0500 Install DAFS and non-DAFS fssync-debug Install the non-DAFS fssync-debug along with the DAFS dafssync-debug, since fssync-debug uses some structures that are specific to DAFS or non-DAFS. Change-Id: Ib7420857cd32f33fc3cc04f67baa1fcc90abc936 Reviewed-on: http://gerrit.openafs.org/2479 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 134f58cd8ca3d941bcea6e9f56d8fc7d0c91d7e0 Author: Derrick Brashear Date: Thu Jul 29 10:59:35 2010 -0400 macos prefs pane improved error handling NSScanner: nil string argument is a lame thing to see. so let's not. Change-Id: I972ed9ebe5a9f7ef5ae9ecbd0423a61bd5bfb5b7 Reviewed-on: http://gerrit.openafs.org/2478 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3a0efeebf63a721068165b3f55600c8eef9faab2 Author: Andrew Deason Date: Wed Jul 28 17:10:10 2010 -0500 viced: Correct unblessed attach2 errors Don't set the vp to NULL; instead just go to the general error handling code. When a volume is not blessed, we just want it to go offline, not go into an error state. Furthermore, we must free the volume header when nUsers is set to 0, so manually do so when we do not call VRequestSalvage_r. Change-Id: I3ccd61ac219e092a5c9ee52cd563d007bc20a1a1 Reviewed-on: http://gerrit.openafs.org/2476 Reviewed-by: Jeffrey Altman Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ec5f7f0e0284b38b86c32c2dfc842b08aca720ff Author: Andrew Deason Date: Wed Jul 28 17:47:21 2010 -0500 vol-bless: Detach, not put, volumes on completion vol-bless was just calling VPutVolume when it was done blessing or unblessing a volume. Instead call VDetachVolume, so we actually give the volume back to the fileserver when we are done if !nofssync. Change-Id: Idc1e0c32cf5c1c9d2c130fee4b2f1a5f61ab1c3a Reviewed-on: http://gerrit.openafs.org/2477 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit e2bce5f6c6cd8d2da40bd830640d87ebb9c0b6e9 Author: Marc Dionne Date: Mon Jul 12 19:28:24 2010 -0400 gcc 4.5: Sequence point warning fixes With gcc 4.5 the -sequence_point warning triggers some new warnings. Fix some of them by simplifying the arguments to some problematic macros. Change-Id: I6c4e2b09f3f9d07d342b7be0d6d8317673dddf34 Reviewed-on: http://gerrit.openafs.org/2474 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 43f3a074f09d34ce2da9bae2237b3a44cb4cac8b Author: Derrick Brashear Date: Mon Jul 26 16:15:46 2010 -0400 unix blacklistonce should default to fail if no fid return fail, rather than success, if no fid and thus no list of servers to resort, in BlackListOnce. will need a later change for vlservers reported by jhutz@cmu.edu Change-Id: I782781ed87a6de718a4cc3dbe2f948ef325af27c Reviewed-on: http://gerrit.openafs.org/2473 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 91eec4d85016b009a9661e98651dfbaa32618d3d Author: Andrew Deason Date: Thu Jul 22 13:43:17 2010 -0500 salvage: Zero root/readme vnodes before writing Previously we were writing out the root and readme vnodes with uninitialized 'lock' structures, when we create a new root dir for attaching orphans. Just use calloc so we ensure that everything is zeroed before writing it out. Change-Id: I3c7712254aaef8731be95ea63530af05438d96a6 Reviewed-on: http://gerrit.openafs.org/2469 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1ad26bc193f6b7693888054e4ddb96cf5fd260ee Author: Andrew Deason Date: Thu Jul 22 12:21:14 2010 -0500 autoconf: Force absolute INSTALL Force using an absolute path for install-sh. Autoconf normally prefers using a relative path, which confuses (at least) part of the libafs build system. Change-Id: I6962e61bb866362f674708e611ff22eb190a771a Reviewed-on: http://gerrit.openafs.org/2461 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit be469a890416eb139424890567037a17954a654c Author: Andrew Deason Date: Thu Jul 22 11:24:10 2010 -0500 Remove tsalvaged warning inhibition tsalvaged has no documented necessary warning inhibitions, and it appears to cause no warnings. So, remove the warning inhibition. Change-Id: Iac2f8e8657034b01ce705dddb5dab3f33c913f31 Reviewed-on: http://gerrit.openafs.org/2467 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a68abf7a4eeb0667fa067a73e4560b8666e7172a Author: Andrew Deason Date: Thu Jul 22 11:34:24 2010 -0500 AFS_INT64_FMT takes a afs_int64, not int64_t Cast to afs_int64, as int64_t can reduce to a different type than AFS_INT64_FMT's. Change-Id: I77ffe8813fbef284e6e91db25804d95d73898b54 Reviewed-on: http://gerrit.openafs.org/2466 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3d1fd051b6a5c6e3bf04663d88bc0366d7e7e854 Author: Andrew Deason Date: Wed Jul 21 17:30:39 2010 -0500 Log lex/flex detection errors in the config log When we detect if lex is flex, we run 'lex --version', which may complain to stderr if lex is not flex. Instead of printing such errors to the person running 'configure', redirect stderr to config.log along with stdout. Change-Id: I812805245a2638eda5885a41a6d70ffeff608c58 Reviewed-on: http://gerrit.openafs.org/2462 Tested-by: Andrew Deason Reviewed-by: Russ Allbery commit d64948ac30d3aefda098727a2158406144877654 Author: Derrick Brashear Date: Wed Jul 21 12:06:39 2010 -0400 vlserver - Don't overflow buffer with backup pattern based on a report from Hans-Werner Paulsen avoid adding regex anchors to a buffer which is already full when copying it to a like sized buffer. instead, leave extra space. Change-Id: I486c51779da285888fe38ed2aa5f30dd2d008a9a Reviewed-on: http://gerrit.openafs.org/2456 Reviewed-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e80bc73142188af82611f2174413091191be7818 Author: Andrew Deason Date: Wed Jul 21 12:01:57 2010 -0500 Remove an outdated inode comment block This comment is no longer true, and its existence now is just confusing. Change-Id: I3954bd82f11c5f48e3e9491a885087067b3d9d34 Reviewed-on: http://gerrit.openafs.org/2458 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e75eb34b9a38127b2f166a702e5a641847448823 Author: Andrew Deason Date: Wed Jul 21 12:17:33 2010 -0500 SOLARIS: do not ignore libafs build failures Change-Id: Ic5bc6cefd616736d81807bf6ac6d0226fcdb3df2 Reviewed-on: http://gerrit.openafs.org/2459 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 41d321e900ccb99120a49980c24d44f206075f17 Author: Russ Allbery Date: Wed Jul 21 10:36:21 2010 -0700 Don't cd around invocations of install-man install-man is a config.status-generated script, so Autoconf will substitute in the path to our install-sh script, but Autoconf prefers relative paths that are only valid in the directory in which install-man is generated. We therefore must avoid changing directories before calling install-man. Instead of cd, use relative paths including the directory and adjust the installation path accordingly. Change-Id: I8666257b9d74fa80cf7f136bd0ee6ff895897066 Reviewed-on: http://gerrit.openafs.org/2460 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f0a52e168c0f3495c7b168a63c149116219e3c1b Author: Andrew Deason Date: Wed Jul 21 11:34:39 2010 -0500 libafs: fix IOPEN for amd64 solaris Solaris afs_syscall_iopen was returning the fd in r_val2 for 64-bit architectures (for 5.7 and beyond). If we are little-endian, though, we want the return value in r_val1; otherwise we just always return fd 0. So, put the fd in r_val1 if we are little-endian. Change-Id: I8553c338625e9c50f846f4676b53ea8f054b7a73 Reviewed-on: http://gerrit.openafs.org/2457 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b3c16324edf9e26ef4eea63d214d9d18ecaba30b Author: Andrew Deason Date: Tue Jul 20 12:46:00 2010 -0500 ubik: Make ugen_ClientInit honor noAuthFlag ugen_ClientInit was still trying to use tokens to make an authenticated connection, even if noAuthFlag was set. Make it so we do not attempt authenticated connections with noAuthFlag, and suppress the "Could not get afs tokens" message if noAuthFlag was set. Change-Id: I1a0afbb8507307f09a3555e6a7ce0c197ddcc6ef Reviewed-on: http://gerrit.openafs.org/2454 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e46f10a0a0a930f318833a8a86b10c19744160c1 Author: Andrew Deason Date: Tue Jul 20 12:32:10 2010 -0500 bos: Do not assume DAFS just if DAFS bnode exists For salvaging purposes, we were assuming that if a DAFS bnode existed, we should perform a DAFS salvage. Since it is possible to have a disabled DAFS bnode alongside an enabled non-DAFS fs bnode, we should perform a regular non-DAFS salvage if the DAFS bnode is disabled. Do that. Change-Id: If4e6fa3b733e2e9684cd9942be56368d60bf6dee Reviewed-on: http://gerrit.openafs.org/2453 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit b0f16e6a564f305bb7751e946d85a4e70fa50625 Author: Andrew Deason Date: Tue Jul 20 12:06:57 2010 -0500 bozo: Clean up bnode parms for each bnode bosserver was remembering the parms for past bnodes, and just overwriting parms for new bnodes. This is a problem if we have a 'dafs' bnode followed by an 'fs' bnode, since the 'fs' bnode will get the 'dasalvager' parm, and bosserver will think it is its scanner program. So instead keep track of a separate array of the parms that we actually pass to bnode_Create, so we only pass parms that we saw for this specific bnode. Change-Id: Ic609e2156cfd8ecf5b83b3815c5dff235010aa00 Reviewed-on: http://gerrit.openafs.org/2452 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 901423b1e566a91b0c10ecb1da1a9886e0877adf Author: Jeffrey Altman Date: Tue Jul 20 00:05:18 2010 -0400 Windows: Build Demand Attach File Service This patchset permits the building of demand attach file server and volume server. Change-Id: I7ee81c69924cde5e8aec2067d73b51cba7e4423e Reviewed-on: http://gerrit.openafs.org/2450 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 939382c5c1622750665a9f543168bd3b8044583f Author: Derrick Brashear Date: Mon Jul 19 14:17:21 2010 -0400 vol AttachByName should mimic other volpkg errors if later callers will deem a volume offline, note it at attach time. additionally, log the cause. Change-Id: I4870e8f3bfd8d7e69e448d3a445be81435407f0f Reviewed-on: http://gerrit.openafs.org/2448 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eb6914dbb30b211653d6e66f23c31e81d410c9ae Author: Derrick Brashear Date: Mon Jul 19 16:56:58 2010 -0400 ShakeLooseVCaches needs to avoid CVInit vcaches the code refactoring missed this case. sadly, it means we can panic under heavy vcache contention. FIXES 127645 Change-Id: I41929df066b8e3d447ba72e77be6777a306b8bf8 Reviewed-on: http://gerrit.openafs.org/2449 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9c9b4bb8279f62bfd0888a8d7d081ba53ace3c4c Author: Derrick Brashear Date: Fri Jul 16 13:48:05 2010 -0400 document dasalvager split dasalvager and salvager documentation. refer both ways between docs. Change-Id: I33480cae671c3f50d47a5a4f8407a07f268164a1 Reviewed-on: http://gerrit.openafs.org/2442 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6f29ed951fca8f843e0a607fae97dd107f44d21c Author: Derrick Brashear Date: Fri Jul 16 13:39:22 2010 -0400 document davolserver split davolserver and volserver documentation. refer both ways between docs. Change-Id: Iac70ac8e1fb8bfcb7ebfdbed8e9d7870a2e69fee Reviewed-on: http://gerrit.openafs.org/2441 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 214f8ea022ad57d9f99346f4d24ed3c7409d8054 Author: Derrick Brashear Date: Sun Jul 18 11:45:06 2010 -0400 dafileserver synopsis missed this before, needed for dafs man page Change-Id: Ie9a309995638ea315198ea204cbc16e2cdc3fbe7 Reviewed-on: http://gerrit.openafs.org/2447 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c15a8c65ad232349b202fcf67a4f5037aaec02c8 Author: Derrick Brashear Date: Fri Jul 16 13:21:57 2010 -0400 document dafileserver split dafileserver and fileserver documentation. remove dafs-only switches from fileserver doc. refer both ways between docs. Change-Id: Ibcac8ed3f294c18436978f3cd4e52de305130198 Reviewed-on: http://gerrit.openafs.org/2425 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5142922d6ff019fc30d78c4a5eab29fa5fc1db30 Author: Andrew Deason Date: Tue Jul 6 12:42:40 2010 -0500 vos status: report human-readable last*Time Make 'vos status' print the lastReceiveTime and lastSendTime in a human-readable format, instead of just printing the number of seconds since the epoch as an integer. As suggested by Jeffrey Altman. Change-Id: I1348a45078e49ff631cb46323767f1c384a72084 Reviewed-on: http://gerrit.openafs.org/2338 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48758397aecb98672783d8d5960e638d76e5e19c Author: Andrew Deason Date: Tue Jul 6 12:38:21 2010 -0500 vos status: add lastActiveTime field Add a field in the 'vos status' output to report the last time a transaction was touched by a volser RPC. Change-Id: Ibfe11e16fc3d7f00134d840ec3ab9fb9263fbea1 Reviewed-on: http://gerrit.openafs.org/2337 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 36af430c29bdbfc1b4b5c1ad7568cbffab04899f Author: Andrew Deason Date: Tue Jul 6 12:36:27 2010 -0500 vos status: actually show created time The 'created' field in 'vos status' output was being reported as something else. Make 'vos status' actually report the time the transaction was created in that field. Change-Id: Ib890256f4b9f67cf0a37910dc3b3585eafdba4fc Reviewed-on: http://gerrit.openafs.org/2336 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dd3e0d0371608b0348435e94cc3c6c8f20d92b83 Author: Simon Wilkinson Date: Sat Jul 17 18:23:30 2010 +0100 dir: Add printf format checks to log salvage.c uses the Log() function defined by vol/common.c. At the moment, this isn't defined in a way that we can easily grab its prototype, so the code has an extern definition at the beginning. For now, just add format checks to this definition. Fix all of the fallout from this - we were casting to intptr, and printing with %x - use AFS_PTR_FMT as nature intended. Change-Id: I2110ebddbe207c307fcad00ab89e5818824a644d Reviewed-on: http://gerrit.openafs.org/2446 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8b5bf6ed9eb8404f8b9576c440d82a7691bcb77a Author: Simon Wilkinson Date: Sat Jul 17 18:06:39 2010 +0100 budb: Add printf format checks to logging fns Add format checking to the Log, LogError and LogDebug functions. Fix the resulting type errors. One of these in particular is a signficant bug, where we would try to print a hash table pointer as a string. Change-Id: I02d7bcd7ce63583d24dda4da40288af51a516583 Reviewed-on: http://gerrit.openafs.org/2445 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52c91be7ca3c834c470fc739696dffe5fd01c0fe Author: Simon Wilkinson Date: Fri Jul 16 23:20:27 2010 +0100 vol: Fix logging functions Fix the Log, Abort and Quit functions used by the vol package so that they are all defined in a common header file, rather than prototyped in each file which uses them. Use the appropriate macros to flag those functions which never return, and mark them all as taking printf style input. Fix all of the callers which had mismatched format strings and arguments. Change-Id: I78194f623360e13f055f8f37b3558c08a70acd1f Reviewed-on: http://gerrit.openafs.org/2444 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a495e0ff6b7f3ee07b77363fa513d24024199f38 Author: Simon Wilkinson Date: Fri Jul 16 21:58:33 2010 +0100 Linux: Load exportfs first The changes to use the exportfs interface to access cache files require that the exportfs module is loaded before our module. In 'normal' operation depmod, and modprobe, would take care of this for us, however our legacy installation format where we ship the kernel module outside of /lib/modules stops modprobe from working, and our init script uses insmod. So, explicitly load exportfs first. Note: I'm aware of just how much this sucks, and the fact that we really should just tidy up all of the packaging and init scripts around our kernel module - but this close to 1.6 branch is probably not the time for those kinds of changes. Change-Id: Icdc11482f4eb05419a806a2cd55852eaa5999638 Reviewed-on: http://gerrit.openafs.org/2443 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce109a8538e16090ee7960991ed1260aac54137a Author: Russ Allbery Date: Thu Jul 15 10:18:03 2010 -0700 Rename configure.in to configure.ac Rename configure.in and configure-libafs.in to use the *.ac extension instead, which is preferred by current Autoconf versions for input files to Autoconf. *.in can then be more consistently used for files that are input into config.status. Change-Id: I4d352560200e4dbb1a2dda3d5ab7c7c9a38b565f Reviewed-on: http://gerrit.openafs.org/2437 Reviewed-by: Derrick Brashear Tested-by: Russ Allbery commit a792acdadc8fe6e7354be4c23e60c795b3b4f109 Author: Russ Allbery Date: Thu Jul 15 17:21:26 2010 -0700 Add include method for POD documentation Add a preprocessor for POD documentation that handles a custom =include directive. Demonstrate how to use the preprocessor by factoring out all the standard PTS options into a separate POD fragment and including that fragment in all the PTS commands that take the standard options instead of including that documentation in each separate file. Change-Id: If5255efc6d3fc670b38a9898b3d7d3c60af04fcf Reviewed-on: http://gerrit.openafs.org/2440 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3e2c3c9a56fbffd0dc63183dcb053f942b6a2bf6 Author: Russ Allbery Date: Thu Jul 15 17:18:12 2010 -0700 Fix unterminated B<> sequence in bos addhost man page Change-Id: Ied06fbf8c0a9cc064b257daf6272cd5a5bd2e816 Reviewed-on: http://gerrit.openafs.org/2439 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b4411d37b43b0a934028af39fe8594bbd82e1733 Author: Russ Allbery Date: Thu Jul 15 16:29:27 2010 -0700 Flesh out the configuration documentation Remove obsolete configure options and document all remaining options other than some provided by Autoconf and some that are currently not very interesting. Document that, on modern Linux systems, configure can find the kernel build system and headers by itself and doesn't need the flag. Include some more information in README about changing the default installation paths, and mention that the da* versions of the file server and volserver also aren't stripped. Remove the generic GNU installation instructions, which aren't useful for OpenAFS. Change-Id: I56d0003ff0173749e9a5e04f1d0ed4d004787dfd Reviewed-on: http://gerrit.openafs.org/2438 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce0ba0e33581cb5f89902d342f56ceef09f1b78a Author: Russ Allbery Date: Wed Jul 14 17:32:35 2010 -0700 Add new demand-attach binaries to .gitignore Change-Id: I822153d890e736c2422f6bc0c0b29bb7c4240f9b Reviewed-on: http://gerrit.openafs.org/2434 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 674ec768828994b90dc14bf8487e04de5bdf7295 Author: Russ Allbery Date: Wed Jul 14 17:30:11 2010 -0700 Fix .version generation for make libafs_tree The first argument to the git-version script should be the root directory of the tree, not the .version file in that directory. Change-Id: I145d360dc79132fc1474e94893c999b35774d874 Reviewed-on: http://gerrit.openafs.org/2433 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01afbb03cc1b853d0909101e5145d0333669c344 Author: Russ Allbery Date: Wed Jul 14 17:29:34 2010 -0700 Move build support files into build-tools Now that we have a build-tools directory, move the various support files used by Autoconf and Automake into it as well to reduce clutter at the top level. Change-Id: Ieae317524d5354e3a6168507c569378f7913b05f Reviewed-on: http://gerrit.openafs.org/2432 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aeba16157ef8127aa0f0866d699972ef7efe7a0c Author: Marc Dionne Date: Wed Jul 14 22:43:01 2010 -0400 afspag version of rx_knet.o in order to correctly generate KBUILD_MODNAME, each object file needs to be built only once. in this case it matters because the pr_debug macro, called as a result of including errqueue.h, needs it and things which depend on it, and when it's built into 2 .kos, the wrong thing happens. Change-Id: I85be7a3322fd179ef75fe14a90c9e7592e542ed1 Reviewed-on: http://gerrit.openafs.org/2435 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ed71f147c709c96c1edd77a06b019a40896967be Author: Russ Allbery Date: Wed Jul 14 12:46:04 2010 -0700 Debian: Install the demand-attach versions of the binaries This will need more comprehensive packaging work later, but in the meantime, install the binaries so that make dpkg will complete successfully. Change-Id: Ic82feb92c05a3638365593c4e321ef5e45916ee2 Reviewed-on: http://gerrit.openafs.org/2429 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 624e827f8fe31dfd22230a2689496328224d6bf1 Author: Russ Allbery Date: Wed Jul 14 12:33:40 2010 -0700 Use the full version number for Debian packages Debian packaging can deal with the full version number that we generate using git-version, so base the version we put into src/packaging/Debian/changelog on that version instead of the LINUX_PKGVER that we use for other packaging. Change-Id: Ibf50854748b2b588c2f971d6bdadd4f66f648c5b Reviewed-on: http://gerrit.openafs.org/2428 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 03080af8cee0e2d74c3dadf7a07e3b42f658e263 Author: Russ Allbery Date: Wed Jul 14 12:27:30 2010 -0700 make dpkg should only build binary packages The source package we would get by running dpkg-buildpackage in the source tree without further preparation is basically useless, since it's a native source package for a non-native package and will contain any random dirty cruft in the current source tree. Since the purpose of make dpkg is to provide quick Debian packages for testing purposes, only build the *.deb files and don't bother to build the source package. Change-Id: Ia2643c7e8936b15e3447df589ed0236438b8341e Reviewed-on: http://gerrit.openafs.org/2427 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4323e2ea3307baa6f4c21ae359713cabae0216b4 Author: Russ Allbery Date: Wed Jul 14 12:25:55 2010 -0700 Update Debian packaging to 1.5.75-2 Fixes the duplicate run of make install during the package build process and updates the changelog to the current Debian packages. Change-Id: I20fa4cc24e17c3944de2b08e265e277ff5d5564f Reviewed-on: http://gerrit.openafs.org/2426 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a658736af649bd52a7710cbb428a804588b2fda5 Author: Michael Meffie Date: Wed Jul 7 14:25:46 2010 -0400 man: document bos addhost -clone Add the missing -clone option to the bos addhost man page. Change-Id: I0ead9acfd25d573b907f2617845c25c8c11df53c Reviewed-on: http://gerrit.openafs.org/2349 Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit a1351d48410383090befd63b34407caf55b8f654 Author: Russ Allbery Date: Wed Jul 14 10:02:08 2010 -0700 Fix ktime test on 64-bit systems 0xffffffff is a bad representation for -1 when the size of the data type may vary. Rather than forcing everything to 32 bits and losing later on platforms with 64-bit time_t, change the table to use time_t and try to add a cast that will do the right thing. Change-Id: Id532c9b7a1fc215dc9fd532592fecb2ea45597a0 Reviewed-on: http://gerrit.openafs.org/2420 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1d8bb99db9ae66554760a5927268631916be5adf Author: Andrew Deason Date: Thu Jul 8 15:59:58 2010 -0500 RX: ignore all local 127/8 IFF_LOOPBACK interfaces Currently RX lists all non-127.0.0.1 interfaces in the interface list, even those that are specified as IFF_LOOPBACK, to accomodate certain special cases where IFF_LOOPBACK interfaces should be advertised. However, this makes us advertise e.g. a 127.0.0.2 lo interface. So instead, skip all interfaces that are both in 127/8 and claim they are IFF_LOOPBACK, as this will skip a stray 127.0.0.2, but should not confuse the special cases. Change-Id: I60a4ed5330252078e2f58894195f9b68ec70dcfa Reviewed-on: http://gerrit.openafs.org/2376 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4b7d224d17e5d11b4ea50a8dece763aaedf21d17 Author: Andrew Deason Date: Thu Jul 8 10:56:28 2010 -0500 Treat all 127.0/16 addresses as loopback Many places treat loopback addresses specially; they are skipped over when traversing local interface lists, and they are sometimes replaced with the public IP of the local hostname when interpreting user arguments. However, we only treated 127.0.0.1 as 'loopback'. Many systems can have more than one loopback interface, such as having an interface with the address 127.0.0.2. So, to catch these, treat everything in 127.0/16 as a loopback address or otherwise 'invalid' address. We still do not treat the rest of 127/8 like this, to still allow some 127.* addresses to not be treated as loopback if someone really wants to. Change-Id: I64724cc1ee366e5ef80a8d6e3008e30a7077a4b2 Reviewed-on: http://gerrit.openafs.org/2367 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ca352e0f922e28f3d66a1d2e7d165e4dc846e5b8 Author: Russ Allbery Date: Wed Jul 14 09:28:47 2010 -0700 Rewrite FUSE macro to skip FUSE if not found unless --enabled If no configure flags are given, build the FUSE afsd iff FUSE is found. If --enable-fuse-client is explicitly given, always try to build the FUSE client and abort if FUSE libraries could not be found. Change-Id: Icc0d5bbb03239470ad856d87bca600304f030591 Reviewed-on: http://gerrit.openafs.org/2419 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 260ae1b845a82501f957f3fb40f63b0e0f6d5e93 Author: Marc Dionne Date: Wed Jul 14 09:52:03 2010 -0400 Linux: use an int pointer for the size argument to getsockopt getsockopt expects an int pointer as the size parameter, both in the kernel version and our replacement compat inline function, which causes warnings because we give it a size_t pointer. Use an int variable instead. Change-Id: Ide77ac01610c2f32f87d833c0d130c79007a1a33 Reviewed-on: http://gerrit.openafs.org/2417 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a8b64dba013d5aa899d5ce29370bf1a52fb3fca9 Author: Jeffrey Hutzelman Date: Wed Jul 14 01:20:22 2010 -0400 Don't overflow a buffer on the server's stack at startup The servers like to log the command line it was invoked with. It does this by concatenating its arguments, separated by spaces, into a 150-character buffer on the stack of main(). That's just wrong. Use a dynamically-allocated buffer instead. Change-Id: Ibe398e5f449eec176f11f301090a1b68ef13e94b Reviewed-on: http://gerrit.openafs.org/2275 Tested-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear commit 8802b78040b37bad652b448dbc40af7745c16400 Author: Marc Dionne Date: Wed Jul 14 09:29:49 2010 -0400 rx_user.c: Remove unused variable There's an unused variable in the pmtu code in rx_user.c. Remove the "offender". Change-Id: I869b317d7e31b0f70b71f3e9ea2a0e0209709fcb Reviewed-on: http://gerrit.openafs.org/2415 Reviewed-by: Rod Widdowson Tested-by: Rod Widdowson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e503fc8b4ab1a37c447f78adcde92b6d84dd8658 Author: Derrick Brashear Date: Wed Jul 14 02:00:32 2010 -0400 linux rx pmtu fixes failed to get committed in earlier round of pmtu revamping. oops. Change-Id: Ie4b0e2e3c343b62abf9871fd41018d25b09d30d4 Reviewed-on: http://gerrit.openafs.org/2414 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 37994e573f14fb4cb1a1bbe74543fa297a4b2226 Author: Derrick Brashear Date: Wed Jul 14 00:44:11 2010 -0400 simple fuse enable change just turn on fuse by default. don't move anything Change-Id: I533aeda117159ed4bf37c550906b580125f7f729 Reviewed-on: http://gerrit.openafs.org/2413 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eae0fe48b9eb32412d5b5872a9a57aa0205057fb Author: Andrew Deason Date: Fri Jun 25 17:02:54 2010 -0500 Add -unsafe-nosalvage fileserver option Provide a runtime flag to the DAFS fileserver to allow for fast-restart-like behavior for DAFS. Call the flag -unsafe-nosalvage, and document it, warning against its use. Change-Id: I342c58745b7e2e1d1a2066b4fb08941b02c660f9 Reviewed-on: http://gerrit.openafs.org/2277 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c3fc948e34ad6c44df88e77e5a00e7d3119f627e Author: Simon Wilkinson Date: Tue Jul 13 21:53:22 2010 +0100 Check for crypt in external library Check to see if we need to explicitly include a library in order to get the crypt() function Change-Id: I9bd1d70e420d4d1656bd86cd3215525102fa6259 Reviewed-on: http://gerrit.openafs.org/2404 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit c6f7bb80ee01f477743a3496507e082fb5760884 Author: Russ Allbery Date: Tue Jul 13 15:39:29 2010 -0700 Update Debian packaging to 1.5.75-1 This update now builds shared library packages for the libafsauthent and libafsrpc shared libraries. It should also fix problems with make dpkg due to debian/changelog being deleted on make distclean. Change-Id: I14ce0633edc1f0cc9e081eb7383b2f1e7bfc729f Reviewed-on: http://gerrit.openafs.org/2405 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 95f51b8670b08526c6a3395ffc0ec169932f2cc7 Author: Derrick Brashear Date: Tue Jul 13 15:14:00 2010 -0400 enable pmtu in configure by default if we can get a socket error to let us get pmtu discovery info, use it. Change-Id: I7756c1a00e6cb018146a5b0545bed828446e5483 Reviewed-on: http://gerrit.openafs.org/2400 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3610ba191fd058b485db62ed5a3eb64f882a850f Author: Derrick Brashear Date: Tue Jul 13 16:47:39 2010 -0400 demand attach build always always build demand attach. includes doubtless-broken windows support. installs dafileserver, dasalvager, davolserver. salvageserver keeps its (unique) name. Change-Id: Ia272dd2b0f72789b9e0f2a7712f9c206bb922095 Reviewed-on: http://gerrit.openafs.org/2403 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aa97bf5dd4c07be452e2473ffe0adbe680f73bd7 Author: Derrick Brashear Date: Tue Jul 13 23:51:52 2010 -0400 afs sunpro not always c99 old enough sunpro c won't be c99, and doesn't define a macro when it is c99. since there's no way to tell, be safe. Change-Id: Ib60ead7b702fe3ab203de83456d0f126afecc1ec Reviewed-on: http://gerrit.openafs.org/2411 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f5b6ce170757066ee5387d936efd51c11e18b2cf Author: Derrick Brashear Date: Tue Jul 13 23:36:30 2010 -0400 xdr sunpro not always c99 old enough sunpro c won't be c99, and doesn't define a macro when it is c99. since there's no way to tell, be safe. Change-Id: I1709827872b03c5365d9bb26b0ce9d86f038d882 Reviewed-on: http://gerrit.openafs.org/2410 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad1b79547be5a2ae37619e8b583838e6744ff664 Author: Russ Allbery Date: Tue Jul 13 15:57:25 2010 -0700 make dpkg should not depend on dest It's pointless to have make dpkg build the tree before running the Debian build rules, since the Debian build rules are just going to build the tree again. Change-Id: I2481b20a5ca23f8cb067ba609d4d3acd58738cc4 Reviewed-on: http://gerrit.openafs.org/2406 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b666166b6d81b5a8079030e66d527bd708afeede Author: Derrick Brashear Date: Tue Jul 13 14:31:41 2010 -0400 simple is-lex-flex autoconf test if we're flex, we may need to be lex-compatible. engage it if we're flex Change-Id: If9a39ca0bce3f4a68b742d1e8f0c679d3f79896e Change-Id: I7f245d579bcc46fdd0aa7202bbd45f3f9f647ebc Reviewed-on: http://gerrit.openafs.org/2399 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a0113e0f1272b8f2c57fa339dcaef0bd4770143f Author: Russ Allbery Date: Tue Jul 13 13:42:01 2010 -0700 Link libafsauthent with -lresolv if required libafsauthent includes auth/cellconfig.c, which uses res_search, so it requires -lresolv even if it isn't needed for gethostbyname. Add LIB_AFSDB to the link line for libafsauthent. Change-Id: Id83ceb8b261b8c7fb176e24cc138276282608513 Reviewed-on: http://gerrit.openafs.org/2408 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 57d727da233252477c16a34cf628f6764534b8bc Author: Russ Allbery Date: Tue Jul 13 13:42:01 2010 -0700 Link libafsauthent with -lresolv if required libafsauthent includes auth/cellconfig.c, which uses res_search, so it requires -lresolv even if it isn't needed for gethostbyname. Add LIB_AFSDB to the link line for libafsauthent. Change-Id: I4dafdf83db9a00e4e30bff7c59357c13bf7af961 Reviewed-on: http://gerrit.openafs.org/2402 Tested-by: Derrick Brashear Tested-by: Jason Edgecombe Reviewed-by: Derrick Brashear commit d815833f9db0f91511390251932cfe0a83189a23 Author: Derrick Brashear Date: Tue Jul 13 15:47:41 2010 -0400 disconnected fix prototype warning supporting disconnected in ukernel uncovered this warning from lack of a prototype Change-Id: I81d287a8e4466270906fe67f8a1f2f6406fec430 Reviewed-on: http://gerrit.openafs.org/2401 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52fe3b27489f113c0f7488c5b78fd95a18d44831 Author: Derrick Brashear Date: Tue Jul 13 14:29:38 2010 -0400 64bit macos new config.guess support new config.sub/config.guess call 64 bit macos something new. update our handling so we deal. Change-Id: Ieadd71b66e879ff58bf2c7f77173284c570e4252 Reviewed-on: http://gerrit.openafs.org/2398 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d29643b0553011cbe60dd127fd31c1847fe02ddb Author: Derrick Brashear Date: Tue Jul 13 13:06:02 2010 -0400 unix disconnected mode always per 1.6 release plan, enable disconnected always. eject ifdefs (and a stray printf that was hidden in one) Change-Id: I6a68cb8506878c28502e1742a48858f2e84958f5 Reviewed-on: http://gerrit.openafs.org/2397 Tested-by: Jason Edgecombe Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 27d415d2b82c7ddceb3f9ec779a65b4e2c5a8141 Author: Derrick Brashear Date: Tue Jul 13 12:41:15 2010 -0400 linux cache bypass by default can't eject the ifdef yet as this is not fully portable now. however, just enable it always. Change-Id: Ia7a49a10377f308740ebd42027ac9748b073016e Reviewed-on: http://gerrit.openafs.org/2396 Tested-by: Jason Edgecombe Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 191dbb439d4b54d485a50c2670daaaacab5b2369 Author: Jeffrey Altman Date: Mon Jul 12 14:42:12 2010 -0400 DAFS: variable declarations in C must be a top of block Two instances of variable declarations not being present at the top of a code block in src/vol/volume.c when building with AFS_DEMAND_ATTACH_FS. Fix them. Change-Id: Ic6b9c5a6bbbd8355a144fea38a6ca1dd2a2c747d Reviewed-on: http://gerrit.openafs.org/2388 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 2cab6a75207d67e2fbbbf4418f46bf46277e3825 Author: Jeffrey Altman Date: Mon Jul 12 23:35:05 2010 -0400 Windows: Generate a valid block using mkvers.c The tag requires not only a but a . Change-Id: I3c5b7691d18381b1bf71bbd3d726bd284bf90919 Reviewed-on: http://gerrit.openafs.org/2390 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 2b85b8c31d96b0ac558acb1bf95fb7b21c66cb3c Author: Jeffrey Altman Date: Mon Jul 12 23:36:56 2010 -0400 Windows: Permit docbook validation using xmllint Add a "check" rule to each of the docbook directories that uses xmllint.exe (from Cygwin) to validate the docbook source against the DTD. Validation failures will halt the build. Change-Id: Ifcfcab11d5077381bfe7fa5e3767070a8d55cb21 Reviewed-on: http://gerrit.openafs.org/2391 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit d4440319c3f954432056044fb55b2630594a46b7 Author: Jeffrey Altman Date: Mon Jul 12 23:40:01 2010 -0400 Commit DTD validation errors in the Windows Release Notes Correct errors detected using xmllint Change-Id: I75c936084f116addbb7918856fe958b596e91b03 Reviewed-on: http://gerrit.openafs.org/2393 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 6c78ce796262d62ad1641f5b28ea1bdbe78222cf Author: Jeffrey Altman Date: Mon Jul 12 23:40:52 2010 -0400 Correct DTD validation errors in the UserGuide Correct errors detected using xmllint Change-Id: Idd9e91ef463679cb58bdb622fd600e4020224e81 Reviewed-on: http://gerrit.openafs.org/2394 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Jason Edgecombe Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fb285880dad219a9992bd9bc29fd5bbb0ee34c8c Author: Jeffrey Altman Date: Mon Jul 12 23:38:56 2010 -0400 Correct DTD validation errors in the AdminGuide Correct DTD validation errors detected using xmllint. Change-Id: Ia255ac319a81966e63b702dd2b672ff3d6d8958a Reviewed-on: http://gerrit.openafs.org/2392 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 73716de680b336df1ca51fe60ce9526d9f43f2e7 Author: Simon Wilkinson Date: Mon Jul 12 12:04:20 2010 +0100 Linux: Use inode lock compat function We've now got a compatibilty function for locking and unlocking an inode. Use that in osi_file, rather than a local set of #ifdefs Change-Id: Ie64f0b758df0b90d0df2033d57729c8b09652c39 Reviewed-on: http://gerrit.openafs.org/2389 Tested-by: Jason Edgecombe Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cdef1c67aeaedffadf41069f46e0144f5f1b3a29 Author: Ken Hornstein Date: Tue May 4 14:04:59 2010 -0400 fix dumptool on macos make dumptool in test suite compile on macos again Change-Id: Id60f625ce53bc9695673b68c733fa653521a8122 Reviewed-on: http://gerrit.openafs.org/2387 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 78e4c7561b8092103da8c991b7d1c996b7eee194 Author: Derrick Brashear Date: Mon Jul 12 15:04:44 2010 -0400 rx getaddr loopback change fallout failed to git add, and so failed to push this back. Change-Id: Ic538ac13f3099cfb3b8a5561e332750421ddd093 Reviewed-on: http://gerrit.openafs.org/2386 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c44f640df369c74aac3a26b7001c257f4ad4e536 Author: Michael Meffie Date: Tue May 11 17:26:36 2010 -0400 xstat: fix large integer output Do not print large positive integers as negative. Change-Id: Ia7f96e64ee6ad0c58de0d03779b230623d60b114 Reviewed-on: http://gerrit.openafs.org/1949 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5cc6293c2cfc7b0a8746942fd048127bb7cbf10f Author: Andrew Deason Date: Wed Jun 23 16:08:13 2010 -0500 Provide man pages for more fssync-debug commands Provide man pages for the fssync-debug commands vgcadd, vgcdel, vgcquery, vgcscan, vgcscanall, vnode, and volop. Change-Id: If456a4cdfedbf5f2776c276bc20178319638c26a Reviewed-on: http://gerrit.openafs.org/2239 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6f75caf8e58521dc15ca793ec4767e5529516b43 Author: Michael Meffie Date: Mon Apr 19 10:00:52 2010 -0400 viced: host hash address collisions Attempt to resolve collisions when adding a host to the address hash table and another host with the same address:port is already present in the hash table. Retrieve the uuid for the host at that address and if the uuid matches the new host and not the old, remove the address from the old host and install the new host into the address hash. Change-Id: Id182f907f63be556c61ffb91777edd35f0aa950d Reviewed-on: http://gerrit.openafs.org/1786 Reviewed-by: Andrew Deason Tested-by: Michael Meffie Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 421cdc04de9716f994f3bdba17ad4d69494868a5 Author: Andrew Deason Date: Thu Jul 8 15:37:48 2010 -0500 Consolidate loopback address tests Many different places were testing if an address is a loopback address. Consolidate these into one function to make it easier to alter. Change-Id: I9c4465f3bdc4e840c83d69456504caaac1c544e7 Reviewed-on: http://gerrit.openafs.org/2375 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2e66c828b1224fb651ba66e7d7ec59da469f7993 Author: Andrew Deason Date: Thu Jul 8 16:40:07 2010 -0500 GetInodeSummary: free inode info In the salvager, GetInodeSummary stores some information about the relevant inodes into a file. Free the memory for that information after it's been written out, since we don't reference that memory again. Change-Id: I9578f941d2ea13240dd22d9b6e7a1f32217263c9 Reviewed-on: http://gerrit.openafs.org/2370 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 262a678d9b7b79f5261af2a8b36588f684e547ef Author: Matt Benjamin Date: Thu Jun 24 09:07:36 2010 -0400 An RPC test dispatch library for vice A library framework for remote testing against file servers, with the ability to establish multiple call/callback channel pairs within a single test process and dispatch requests arbitrarily on each. Thanks to Derrick for design and debugging help. Additional callback processing intelligence will follow in a future changeset. This version builds on Windows NT (but might need further adjustment). Change-Id: Ibea39e912b2a23ebf58e9e0931114572eccf6e78 Reviewed-on: http://gerrit.openafs.org/2229 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1701535fae6a78b72a2b637365a0bf2d77803b5b Author: Simon Wilkinson Date: Sat Jul 10 20:30:31 2010 +0100 Linux: Actually use freezer compatibility func We were calling try_to_sleep, rather than afs_try_to_sleep. Whilst try_to_sleep is present in all modern Linux kernels, on some older systems we need to fall back to our own implementation, which is what the afs_try_to_sleep function should do, but it can only do so if we call it. Change-Id: I900e50cf2754535e676d582bd3da82f1833bde52 Reviewed-on: http://gerrit.openafs.org/2384 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2aa16fba58c6d14c1bb3dd5dc2187338d89a2149 Author: Simon Wilkinson Date: Sat Jul 10 20:17:56 2010 +0100 Linux: Use freezer compatibility macros in RX Commit eef18466d920985c37ed8d22a6557b609c6225a6 introduced some compatibility macros for the refridgerator functionality. Use these in the Linux kernel RX code, rather than rolling our own. Change-Id: I4279e0b3ee92337cb992ff46895712630f681b7b Reviewed-on: http://gerrit.openafs.org/2383 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit af3292a06dbe2b4ecafb2cac5e76f23da697d93c Author: Russ Allbery Date: Fri Jul 9 16:46:21 2010 -0700 Update config.guess and config.sub to 2009-12-30 and 2010-01-22 Update to the latest versions provided by the Debian autotools-dev package. Change-Id: I503ed6bd4316af40f9d36be6010708cb4fef42e1 Reviewed-on: http://gerrit.openafs.org/2378 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4e02b143d2e632c8b515d83cc853d43e22a12617 Author: Russ Allbery Date: Fri Jul 9 16:42:26 2010 -0700 Make config.sub executable Autoconf apparently doesn't care because it runs it explicitly under a shell, but it's sometimes useful to run it manually to check something. Plus, executable shell scripts should be executable on general principles. Change-Id: I0663d91da643f7c0a77fe758ca63f1cc14e81180 Reviewed-on: http://gerrit.openafs.org/2377 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 839ea46465d9bf63fb69b561b1ffff940fd1044f Author: Russ Allbery Date: Fri Jul 9 18:09:32 2010 -0700 Terminate the DARWIN80 #if in afs_osidnlc.c The #if defined(AFS_DARWIN80_ENV) in src/afs/afs_osidnlc.c was never terminated, leading to build failures. Add an #endif. Change-Id: Ie2f324668becef8294b86cadec5cf5547731d2ad Reviewed-on: http://gerrit.openafs.org/2381 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 9e2aba99124f777a209d30ea57cbe92e19130b1f Author: Russ Allbery Date: Fri Jul 9 18:06:47 2010 -0700 Fix ktime test for errors The variable passed into ktime_DateToLong must be initialized to 0 or, on error, we get the previous value and the tests fail. Change-Id: I5528a830981a85fb6737bb8cb5931ab95faffb13 Reviewed-on: http://gerrit.openafs.org/2379 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad470b2ed25cdf99f0388947913e392c2d8b67a9 Author: Russ Allbery Date: Fri Jul 9 18:08:12 2010 -0700 Include linux/freezer.h in rx_kmutex.c rx_kmutex.c calls refrigerator(), which is prototyped in linux/freezer.h, but was not including it, causing build failures on Linux 2.6.32-5 (Debian). Change-Id: I3867be6e7b8478d6fab8b97a4c923f979029517e Reviewed-on: http://gerrit.openafs.org/2380 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c62466ecabffbb8a8af7e18d1a0e8152685f859b Author: Andrew Deason Date: Wed Jul 7 15:43:26 2010 -0500 Use afs_sfsize_t for *_SIZE results Callers of FDH_SIZE and OS_SIZE should be storing the results in an afs_sfsize_t. Some were using regular 'int's and other things, which can screw up if the file is sufficiently large. Change-Id: Ibbc2067ed3b90edcbdd46cfa43da559fd6419f0b Reviewed-on: http://gerrit.openafs.org/2357 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c658bfaf884973aa47c8ce3072b96e6b7d8439c6 Author: Ben Kaduk Date: Fri Jul 9 00:38:16 2010 -0400 Remove incorrect critical section use in dnlc_lookup Critical sections may not be used with (non-spin) locks. As such, this code was wrong, and led to a panic. We don't see why there what synchronization they may have been providing, so just remove them and do not replace them. Change-Id: I5d81595a7059a91b9aad46ab0a634fa684f67325 Reviewed-on: http://gerrit.openafs.org/2373 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3ad8760f243998a78770e88f5c738c08df535201 Author: Michael Meffie Date: Sat Jul 3 18:54:15 2010 -0400 wiki url changed Update the various places we reference the project wiki. Change-Id: I56bcf038553eec02695667d737e0cd51e653b881 Reviewed-on: http://gerrit.openafs.org/2374 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dbcd822a484a0193539be2a96e4db39a003cc9e6 Author: Michael Meffie Date: Thu Jul 8 14:45:22 2010 -0400 build fix on older linux The commit d0abe56aa47d4561ba57527d53a2b0db2ea613c2 added a duplicate inclusion of freezer.h. Older versions of linux (circa 2.6.20) are missing include guards on freezer.h. Change-Id: I12c47cded7d06a3514a520b554bbcbd3328f0d2b Reviewed-on: http://gerrit.openafs.org/2369 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0a9585f9305ae0ebdf958a30e4581e3c24e0de1 Author: Alexander Redinger Date: Fri Jul 2 15:43:42 2010 -0400 SOURCE-MAP updates SOURCE-MAP now reflects state of current code tree, reformatted for readability and easier updating. Change-Id: I858156692c1e4c60ba4d5a75b684db2a079e2dba Reviewed-on: http://gerrit.openafs.org/2348 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5852a3f06a759cbb9e9d2a455c277ec2a44ba498 Author: sanket Date: Thu Jul 1 23:05:24 2010 +0100 vos: Don't call SubEnumerate twice Set a flag to say when we've called SubEnumerate, so that we don't end up calling it twice when in -format mode (Simon Wilkinson extracted this from a larger patch by sanket) FIXES 41031 Change-Id: I2cadd536cb6c9f389330d64ffbf35a16d673d2de Reviewed-on: http://gerrit.openafs.org/2320 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 887de6605150ccd0f0cd56b80d826b04dc7d1339 Author: Jonathan Billings Date: Thu Jul 8 09:23:28 2010 -0400 Update the Red Hat spec file to include fssync-debug man pages Include the new man pages in the base 'openafs' package. The package build process fails with unpackaged files without this update. Change-Id: Ie7a80a283bb95b492b56be0133c1bd811953c57e Reviewed-on: http://gerrit.openafs.org/2364 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c72cd42364206f4fe237d26e582cef86351f75a8 Author: Andrew Deason Date: Fri Jul 2 14:28:29 2010 -0500 Fix VPrintDiskStats_r logging VPrintDiskStats_r tried to log some information using separate Log() statements on the same line. This looks very odd when logged, since we add a timestamp to every Log() call these days. Fix it to print the line as one call to Log(). Change-Id: I19a5365c24208229201ba54ff04e793b5e50eee5 Reviewed-on: http://gerrit.openafs.org/2359 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9408bcaa62ae77b2f5a20b962fec2dbec460c1fe Author: Andrew Deason Date: Mon Jun 28 14:55:18 2010 -0500 viced: Remove stray \r The "File Server has started at" log message contains a trailing '\r' for some reason. Remove it (ctime will give us a trailing '\n'). Change-Id: I8f280abff9a7548f376f007021d74d3a21ac45cf Reviewed-on: http://gerrit.openafs.org/2358 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c790e7d0ca9f76749f761792234da91078eb573d Author: Russ Allbery Date: Wed Jul 7 14:04:37 2010 -0700 Remove a few erroneous NEWS entries for 1.5.75 FUSE was already in 1.5.74, and DAFS fast-restart was not in 1.5.75. Change-Id: I2e1b765c61ce4670800787dbcfd13c2c2af63f79 Reviewed-on: http://gerrit.openafs.org/2356 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4e87cb5c9260c7ddfa2ab22d9596c814817fc69c Author: Ben Kaduk Date: Wed Jul 7 22:10:44 2010 -0400 Fix build Previous commit to this file was not as tested as we thought. This one actually builds (well, except for the part where flex doesn't like et_lex.lex.l at the moment). Change-Id: I11d918adc50bb387c022d90cb0877a6a667e8252 Reviewed-on: http://gerrit.openafs.org/2362 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2c7a19b092c8b71fa142a6612a9a7a530c7c3d37 Author: Ben Kaduk Date: Wed Jul 7 20:47:55 2010 -0400 FBSD: sync with NFS for *pages vnops We've had per-cpu counter variables for a while, use the proper macros to adjust them. FBSD90 has had the page queue locks pushed down a level, so we don't need to lock them and should lock individual pages instead. This fixes mmap() on FreeBSD HEAD. Change-Id: I95d16097aaa65c1c99b4a686c05ac84fe9c11584 Reviewed-on: http://gerrit.openafs.org/2360 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bbce05150cae04b7cb2ab943308cdbf0d8dfdffa Author: Russ Allbery Date: Wed Jul 7 12:50:37 2010 -0700 Add NEWS entries for 1.5.75 Change-Id: I3510b03b6821ce266ebcf217b4bf7d6065a8aaa5 Reviewed-on: http://gerrit.openafs.org/2355 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a064446cf6987744ef614cbf37f43231bc207c7e Author: Andrew Deason Date: Wed Jul 7 12:52:10 2010 -0500 klog: refactor klog_prompter The ifdefs in klog_prompter were getting a bit confusing. Split out some logic into a separate "is this prompt a password prompt" function. As a result, we can build without KRB5_PROMPT_TYPE_PASSWORD defined, which happens to be the case on hp_ux11i. Change-Id: I1d5f794bfc33017f699478e367cde91a3e77d33c Reviewed-on: http://gerrit.openafs.org/2353 Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad2bc4a35d003a0a9fd0d116199f9ad5998ad112 Author: Andrew Deason Date: Wed Jul 7 11:40:20 2010 -0500 Fix shlibafsrpc des.c hp-ux special case '$$@ -I../des', not '-I../des $$@'. Change-Id: I322963b8f6ab31cfa76a91095be665ca59a3c9c3 Reviewed-on: http://gerrit.openafs.org/2352 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8492619f23024eeb1ad42294f055218ddc57aa0d Author: Andrew Deason Date: Wed Jul 7 10:23:27 2010 -0500 HPUX: correct PostPopulateVCache vfsp set Setting AFSTOV(avc)->v_mount is the linux/BSD way. avc->v.v_vfsp is the HP-UX (et al) way. Change-Id: If2cd1c1e74fcd0ca5ad981497abe7968d97cf0ed Reviewed-on: http://gerrit.openafs.org/2351 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0a8b1864d604353a980d1370d97546e12973b462 Author: Andrew Deason Date: Wed Jul 7 09:51:45 2010 -0500 HPUX: include proc_iface.h for proc_t We use proc_t in a typedef, and we need proc_iface to get proc_t. So, include it. Change-Id: I515abe43ae1d3b4a2c54ebe1b7192a91ed441117 Reviewed-on: http://gerrit.openafs.org/2350 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d154ea157b9c32b5cb421f12796ede733e091f4d Author: Andrew Deason Date: Tue Jul 6 14:02:56 2010 -0500 UINT_MAX requires limits.h We need to include limits.h to use UINT_MAX on some platforms, so include it in src/rxkad/v5der.c. Change-Id: I79343011e72080e58f07d53195488808d9e29121 Reviewed-on: http://gerrit.openafs.org/2339 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 16efa8e8c368df67efd91314fc81e38682d367eb Author: Derrick Brashear Date: Wed Jul 7 10:43:48 2010 -0400 kernel InitPeerParams has bogus branching and dup code several of the mtu configuration cases for the kernel version of InitPeerParams were bogus. clean up the function. (a forthcoming change reworks this anyway, but..) Change-Id: Ia4449d5cecc80cddae7d0f611186f48614b908ee Reviewed-on: http://gerrit.openafs.org/2343 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 84c52e1db63999988d8405d223cb28f2063004c3 Author: Andrew Deason Date: Tue Jul 6 14:41:13 2010 -0500 HPUX: make osi_procname a stub It is not immediately clear how to obtain the current process name on HPUX, and the current osi_procname definition breaks the build, so just make osi_procname a stub for HPUX. Change-Id: I8c825d53d7f25b1500b41629ba73f2fe1f48f00a Reviewed-on: http://gerrit.openafs.org/2341 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a022e9e5954f76900f1ca0fdb92c2f12b0036fb Author: Andrew Deason Date: Tue Jul 6 14:10:35 2010 -0500 Fix stray static inline 'static inline' should be 'static_inline'; keep the hp-ux compiler happy. Change-Id: Ibfb819571c608b9ca7c1437fde6898b405bccc4c Reviewed-on: http://gerrit.openafs.org/2340 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 262715d1d3fb672914fbe011663504a69fcf6046 Author: Derrick Brashear Date: Tue Jul 6 11:11:25 2010 -0400 fix newline conventions we had some CRLF files hanging out. fix them. Change-Id: Ie2aa707813967192f202aabc3b28808ae8f80da6 Reviewed-on: http://gerrit.openafs.org/2335 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit af5c302f0da739a70777980fd4ab7f9490ae51c3 Author: Derrick Brashear Date: Tue Jul 6 09:36:27 2010 -0400 rxkad heimdal cleanup don't assume every system have uint16_t and uint32_t; instead massage for use of native afs types. Change-Id: I8943f37ecf6dd5d1565ed295b6e6a2ca9eea5b6d Reviewed-on: http://gerrit.openafs.org/2334 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4ca1b0102542aec73ed5d06583f302eead94ba22 Author: Jeffrey Altman Date: Tue Jul 6 00:30:06 2010 -0400 Windows: update release notes for 1.5.75 Add: * better description of Win7 netbios name lookup bug * "fs newcell" changes * IdleDeadTimeout registry value * NatPingInterval registry value * ReadOnlyVolumeVersioning registry value Change-Id: Ibf5ff8145be94ab8a7a48a1a9bd87c7d60e8549b Reviewed-on: http://gerrit.openafs.org/2333 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit e6a8d4ab2c8bc37c958a12f74d8b2c6074aff025 Author: Jeffrey Altman Date: Fri Jul 2 13:55:05 2010 -0400 Windows: ChangeLog for 1.5.75 Change-Id: Iff322bf65d9d8b5af58d6f4b53630256504999cb Reviewed-on: http://gerrit.openafs.org/2332 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b2a404ffd94de936a073dc5836230bffc52b0729 Author: Derrick Brashear Date: Fri Jul 2 17:53:50 2010 -0400 make openafs 1.5.75 version number updates for 1.5.75 Change-Id: I05cf66281e497c3eff473a350abe480e6fcfd928 Reviewed-on: http://gerrit.openafs.org/2328 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4c0d47de22e1cb0258151e266f15d4a5bf239f33 Author: Ben Kaduk Date: Sun Jul 4 02:28:02 2010 -0400 FBSD: always close the rx socket when shutting down The soclose(rx_socket) call is needed in order to restart AFS. (Otherwise sobind() fails with EADDRINUSE.) While here, use the defined constant SHUT_RDWR instead of hardcoding '2' for soshutdown's second argument. Change-Id: Iba7cac3aec79764783628da28b12253d496a7680 Reviewed-on: http://gerrit.openafs.org/2331 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf8746dc43567a0a8f1d4075402eb9d2f741ec04 Author: Ben Kaduk Date: Sat Jul 3 22:58:39 2010 -0400 Do not recurse on the glock in rxk_NewSocketHost If sobind() failed, we would lock the glock before going to bad, which proceeded to lock the glock, panic()ing on the recursion attempt. Remove the unneeded first call. Change-Id: Ifa793735ebe64bde98156caa610c06612bdb92bd Reviewed-on: http://gerrit.openafs.org/2330 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit b54c7ceefe884b57db76c929940afdfee86472e8 Author: Jonathan Billings Date: Wed Jun 30 15:09:39 2010 -0400 Removed kpasswd from openafs-file-list The executable %{_bindir}/kpasswd was included in the the 'openafs' base package. This change removes the kpasswd executable from the base package. It is still built and is installed in the 'openafs-kpasswd' package. I believe this was the original intent of the 'openafs-kpasswd' package. Change-Id: Idf49747d8a703bb959cdf758d489d640045f285f Reviewed-on: http://gerrit.openafs.org/2305 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d8cde43ed0fcdb1168deae2179e638667bab37ad Author: Derrick Brashear Date: Fri Jul 2 17:42:13 2010 -0400 update VAllocVnode logging move the log message i added to the correct place and put one where it came from. oops Change-Id: Ieb78d8cc076dbc2279922b0909546878b9ee005e Reviewed-on: http://gerrit.openafs.org/2327 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c8ce42242873e3b21443ad7a5d1e1bb5e7b28e60 Author: Andrew Deason Date: Tue Jun 29 13:19:11 2010 -0500 DAFS: Salvage VG on volume creation error When trying to create a volume (either an entirely new volume or a clone), request a demand-salvage on that volume group if we hit an unexpected error. This can allow some situations to automatically rectify themselves if, for example, a volume is missing its .vol header, but still otherwise exists and causes an error during a clone. Change-Id: I22b3e9028685395a8e621962138dee9f5f2ec822 Reviewed-on: http://gerrit.openafs.org/2286 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6b041b7cb0d29815495b2559f24f4ff4979eb129 Author: Andrew Deason Date: Tue Jun 29 14:44:31 2010 -0500 DAFS: Allow FSSYNC salvages on unknown volumes Allow salvage requests over FSSYNC (FORCE_ERROR with the FSYNC_SALVAGE reason code) that are requested on volumes that we do not know to exist. This can be helpful if a salvage is requested on a volume that someone attempted to create but failed, indicating that a partially-created volume may be in the way. Log an additional message when we do this, as it should not be a normal occurrence. Change-Id: I6e1bbe35111a41c489fe85cad36e6a8a6f323a5a Reviewed-on: http://gerrit.openafs.org/2285 Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ff072a08b5c5204a27d3807ad592db84e87c697d Author: Marc Dionne Date: Fri Jul 2 09:13:50 2010 -0400 Linux: cache bypass: fix FCSBypass tests Add some parentheses around the tests for FCSBypass. Without them, the test will not always give the intended result. Change-Id: I94cb2b2c95c702981fce9cff066b620bce652ee1 Reviewed-on: http://gerrit.openafs.org/2324 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b23d86e430d9a077d94c6bc768216eb75bfb1faf Author: Marc Dionne Date: Fri Jul 2 09:10:06 2010 -0400 Linux: cache bypass: warning fix in afs_bypasscache.c Cast the printf argument to int to match the format specifier. Change-Id: I4300c8a407c99c40e116a6e166a76112fb92d254 Reviewed-on: http://gerrit.openafs.org/2323 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c66ba55bd882de677e425a9b9f7f29215a05b647 Author: matt@linuxbox.com Date: Fri Jun 18 14:27:07 2010 -0400 cache-bypass explicitly reference pages involved in background i/o Formerly, we assumed that any page eligible for background i/o could be effectively pinned by lock_page. Persuant to concern expressed by Simon that such pages might be eligible to be released by the kernel after readpages returns, call get_page to increment the refcount on each page before dispatching a background read (and matching put_page when the i/o is completed). Change-Id: Ib3a63e56e6b902b4eb5deb769847e7f17ce2c9ff Reviewed-on: http://gerrit.openafs.org/2215 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 63304d6b2b895404e3a1a194232f3a48e448e75d Author: Andrew Deason Date: Tue Jun 29 12:30:10 2010 -0500 DAFS: Log attempted salvage requests Log in FileLog (or VolserLog, or the log of any program that requests salvages) when we request a demand-salvage to occur. Change-Id: I2444480287a1647c2d3e25039467167e28e17f38 Reviewed-on: http://gerrit.openafs.org/2284 Reviewed-by: Derrick Brashear Reviewed-by: Tom Keiser Tested-by: Derrick Brashear commit febd69f74b96638a696292624f797a0ef46622da Author: Simon Wilkinson Date: Thu Jul 1 20:18:33 2010 +0100 Build: Let configure pick our lex and yacc Let the autoconf magic pick our lex and yacc implementations, rather than hardcoding possibly wrong values in osconf.m4 FIXES 1394 Change-Id: I692eb8568780c78cfe6ba2e5b0fddca6fe6c142c Reviewed-on: http://gerrit.openafs.org/2316 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 417d2c8f9585c5e3ce17512a1ae8ca596a676c03 Author: Simon Wilkinson Date: Tue Jun 29 21:45:36 2010 +0100 Build: Rework git version detection Rework the git version detection script to handle some issues that have been pointed out. 1/ Make it work properly with objdir builds 2/ Don't try to work out if the tree is dirty if git describe failed 3/ Use the configured VERSION as a fallback if we can't obtain proper version information during a make Change-Id: I39494e1c18cf4eacbb55386334da7128fbe96310 Reviewed-on: http://gerrit.openafs.org/2283 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a155d71914791702762d8abd947cf609e1b4bea0 Author: Andrew Deason Date: Fri Jun 25 16:22:28 2010 -0500 vol: Move destroyMe check outside of inUse check The destroyMe conditional does not depend on the result of VShouldCheckInUse(), so move it outside of that block. Change-Id: Ieb4c97ae9f76b4369680629f18eecd1dfc06682f Reviewed-on: http://gerrit.openafs.org/2276 Reviewed-by: Derrick Brashear Reviewed-by: Tom Keiser Tested-by: Derrick Brashear commit d730f7ceb586ac12d5f04dc5ab294f5d4f449334 Author: Derrick Brashear Date: Tue Jun 29 20:49:41 2010 -0400 VAllocVnode error handling avoid growing a volume index too large. handle errors other than just by dropping a core Change-Id: Id1bf7a1a40672b6b960cc0d7a1cd54f48ab0b50a Reviewed-on: http://gerrit.openafs.org/2291 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a309e274632993c5aeec04c6e090f5ac95837a40 Author: Rainer Toebbicke Date: Wed Jun 23 13:08:47 2010 +0200 Do not call afs_FlushVCBs with afs_xvcache held In afs_AllocCBR, use dynamically created afs_cbr structures when running out of preformatted ones, rather than calling afs_FlushVCBs under, potentially, the afs_xvcache lock (which would be held across the RPC, difficult to drop and re-acquire under the current hierarchy). Modest modernization of the number preformatted afs_cbr structures, rule-of-thumb, not pretending any research. Change-Id: I9427427d5dab7d4639822c370bdded0418f67d9e Reviewed-on: http://gerrit.openafs.org/2243 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bdf6192509ca79baacda8ddf79112647bd3c0791 Author: Derrick Brashear Date: Fri May 14 16:03:32 2010 -0400 bosserver force corefiles override system resource limits so we get corefiles Change-Id: I50f228d709090c8275bed2fc2958653c43a0a026 Change-Id: I5b5e8c6a5e02ed0b28610949eb81f6345357969e Reviewed-on: http://gerrit.openafs.org/1959 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 4516e3777413f795ab09440bf300681750ed92fa Author: Marc Dionne Date: Fri Jul 2 09:28:05 2010 -0400 Linux: cache bypass: remove warning print before panic This warning printf has some issues - it prints out pointers as ints with %d (which causes warnings), and if the intention was to print the referenced values, they wouldn't be set yet at that point in the function. Since the purpose is not clear and it has issues, just remove it. Change-Id: Ied69c390818f9dff235bdaa31af42996aaa39af3 Reviewed-on: http://gerrit.openafs.org/2325 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 95a814a26fae63e75fac99e2c8d586bd4725f204 Author: Marc Dionne Date: Fri Jul 2 08:55:44 2010 -0400 Linux: cache bypass: warning fixes in afs_pioctl.c Fix two minor warnings in afs_pioctl.c: - gcc complains that threshold may get used uninitialized. the warning looks bogus, but initialize it to keep gcc happy. - PSetCachingBlkSize is declared but never defined. Change-Id: I3ac84d665f60ba51fef2d52f2bd8d90e0a7bc3b3 Reviewed-on: http://gerrit.openafs.org/2322 Reviewed-by: Matt Benjamin Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bd6b25049331c07ccdeb806d82f73d71221b78f1 Author: Marc Dionne Date: Thu Jul 1 16:07:40 2010 -0400 Linux: cache bypass: deal with the afs_serverHasNo64Bit case Deal correctly with the case of a server with no 64-bit fetch support. In that case, the code needs to fallback to the standard FetchData call, similar to what happens in afs_fetchstore.c. Move existing check out of 64-bit-only branch so servers already known to be non-64-bit and not merely those newly discovered so execute the non-64-bit FetchData. Change-Id: I505ce6d88072bc3ee5208863717395a78f8562fa Reviewed-on: http://gerrit.openafs.org/2319 Reviewed-by: Matt Benjamin Tested-by: Marc Dionne Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit b0ed5a7facb1951f2f4ef8ed3da29a6a80cb7d49 Author: Rainer Toebbicke Date: Wed Jun 23 15:10:46 2010 +0200 Protect truncate_inode_pages when called from osi_VM_FlushPages truncate_inode_pages requires the mapping to be protected using i_mutex / i_sem, which is not held whereever osi_FlushPages is called. Change-Id: I2ca59cf75633368efb7f6a17fd01c7c517a8f609 Reviewed-on: http://gerrit.openafs.org/2244 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 202ca802c30bfa6779fae0bd686da0ca96fc224d Author: Marc Dionne Date: Thu Jul 1 15:22:47 2010 -0400 Linux: cache bypass: avoid unused variable warnings Some variables are only used for AFS_64BIT_CLIENT code, so make their declaration conditional as well. Also, initialize 'code' while we're at it. The compiler has a legitimate complaint that it could be used before it's set, for instance if we have AFS_64BIT_CLIENT but afs_serverHasNo64Bit is true. Change-Id: Ic04b07fffa9668123a9029bb42415a7c701c2339 Reviewed-on: http://gerrit.openafs.org/2317 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f004a5c7ecd35e5b26cafd62c322e3184e811e64 Author: Marc Dionne Date: Thu Jul 1 15:38:32 2010 -0400 Linux: cache bypass: warning cleanup in afs_daemons.c Remove unnecessary warning for the UKERNEL case. This file will always get compiled with UKERNEL. Remove an "if 1" ifdef that was probably used while debugging to make the function non static. Change-Id: I5ba5bbb4bd2b782c605699028cf3ad2c7e8cd41f Reviewed-on: http://gerrit.openafs.org/2318 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 232024676d396ab771d6d228158d606240114bb0 Author: Simon Wilkinson Date: Wed Jun 30 08:29:28 2010 +0100 Linux: Fix pagevec use in cache-bypass Cache-bypass was still using the old style pagevec manipulation functions, and so won't build on newer kernels. Update it to use the same pagevec functions as the generic readpages code. FIXES 127505 Change-Id: I9d8acaf3165bbdf24068bd9145a2369cd0c87e4d Reviewed-on: http://gerrit.openafs.org/2298 Reviewed-by: Matt Benjamin Tested-by: Marc Dionne Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear commit 368c44b537d6940482ceefe2ef8e1fd7fd099783 Author: Andrew Deason Date: Thu Jul 1 11:57:59 2010 -0500 Document fs -human Document the new -human switch for 'fs diskfree' and 'fs listquota'. Change-Id: Ic4b4f9d7492c887085ab6da4c802cfc75fd4d08e Reviewed-on: http://gerrit.openafs.org/2314 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5fe4161270f774c8f7938c432ac84a5edcaf4c33 Author: Ben Kaduk Date: Thu Jul 1 12:47:55 2010 -0400 FBSD: do not recurse on the afs_xvcache write lock afs_ShakeLooseVcaches grabs the write lock before calling osi_TryEvictVCache. The latter calls vgone(l), which sometimes calls into VOP_CLOSE, which again trys to acquire the write lock, leading to deadlock. Drop the write lock and reaquire it in TryEvictVCache as a fix. While here, set *slept to 1 since we drop the glock. This churn was enough that the gcc no longer cached the value of AFSTOV(avc), which gets set to 0 in VOP_RECLAIM, so the subsequent VOP_UNLOCK dereferenced a null pointer. Cache the vnode pointer in a local variable for the entire function instead of using AFSTOV() everywhere. Change-Id: Ic826e7888cb400c19857c58cb6ed88b9bdd0dddc Reviewed-on: http://gerrit.openafs.org/2315 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b126561c8decdd306b37063c16d06364fc9f928b Author: Andrew Deason Date: Thu Jul 1 11:52:21 2010 -0500 fs diskfree displays 'total' not 'kbytes' Correct the fs manpage to show that 'fs diskfree' shows a header called 'total' to represent the total disk space, not 'kbytes'. Change-Id: Id827ec81dcfd79ab28eed3bc392524a378f0069d Reviewed-on: http://gerrit.openafs.org/2313 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c29f03efab46fac2f89f69cad66b114f42398ba6 Author: Andrew Deason Date: Thu Jul 1 11:22:13 2010 -0500 fs: Correct human-readable output alignment 'fs lq' output separates its space values by whitespace, but 'fs df' does not, which was causing the human-readable output for 'fs' to not be properly aligned with the output headers. Modify HumanPrintSpace to take up exactly 10 characters (9 for the value, 1 for the exponent), and have the callers print out an extra space if appropriate. Change-Id: Ied81e73e1e84df34e63fdf0c80ad86341bea0cd4 Reviewed-on: http://gerrit.openafs.org/2311 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1c92f7cc8da20b3e7f0e7564e69b06a3f4930b7a Author: Tom Keiser Date: Thu Jul 1 02:07:54 2010 -0400 nuke configure options from AIX param files Remove antisocial behavior whereby the AIX param files silently turn on the FAST_RESTART and BITMAP_LATER config options. Change-Id: Ic7f77bd6c7aefe0f17b6d8796ce204cc8a5ad4c2 Reviewed-on: http://gerrit.openafs.org/2309 Reviewed-by: Simon Wilkinson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 582878a75858a341f674f833609f08b6d3bf839a Author: Derrick Brashear Date: Wed Jun 30 15:35:38 2010 -0400 update ticket5 from heimdal includes updated instructions for updating. note that gen_glue.c in lib/asn1 has a bug which omits a needed newline in the "const struct units * asn1_%s_units(void);", line. FIXES 127554 Change-Id: Ibc880bf51419d51de40b33d8c43122e592971b0b Reviewed-on: http://gerrit.openafs.org/2306 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e61800b992b5d54edb3656925a884753f02fc686 Author: Andrew Deason Date: Mon Jun 28 13:48:00 2010 -0500 Remove --enable-fast-restart configure option FIXES 127526 Change-Id: I80a18fe083a0d52dad9d4e2d5b14bf667c44630b Reviewed-on: http://gerrit.openafs.org/2278 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3330b9d17b2767318eef6222aceabdee47bbc703 Author: Tom Keiser Date: Wed Jun 30 18:40:20 2010 -0400 DAFS: fix VOL_HDR_IN_LRU state bit tracking For the case where the cached vp->header can be re-used by GetVolumeHeader(), we have not been re-setting the VOL_HDR_IN_LRU state bit. Although this has not affected correctness (this bit is merely used to aid in debugging), we should be resetting it in all relevant cases... Change-Id: I2ad2b8c5070470beb067efdcda6f76f6b72c006c Reviewed-on: http://gerrit.openafs.org/2308 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d8072a846cbce75fb17b0865523923722254ca56 Author: Andrew Deason Date: Wed Jun 30 12:59:24 2010 -0500 fs: HumanPrintSpace is void HumanPrintSpace never returns anything; declare it void. Change-Id: I336deb991e298b5132667a9bd7311b521fc082c3 Reviewed-on: http://gerrit.openafs.org/2304 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e10e29bc5bf53cb6fa30fa8580d8b25d00b5aed7 Author: Andrew Deason Date: Wed Jun 30 12:53:13 2010 -0500 vlclient: Remove incorrect whitespace fix Commit e59a0ff9934f8ea44ecb02e9fdaa81a29bd04b61 generated a warning since we try to assign NULL into a character. Just remove this code, since removing trailing whitespace was already handled by commit df18c9e895e75e77ed466dea3b06ef2a0a07260a. Change-Id: I915c0678a2f6893e09cf049bf71c519be554369f Reviewed-on: http://gerrit.openafs.org/2303 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3f5144b3edfca5187ce417da8929eea86c930ef0 Author: Ben Kaduk Date: Wed Jun 30 00:40:09 2010 -0400 Disable red zones for amd64 FBSD kernel code The kernel has been compiled with -mno-red-zone since at least FreeBSD 5.0; when we compile libafs.ko with red zones enabled and interact with the red-zone-less kernel, we get occasional stack corruption, which manifests itself in a variety of unpleasant ways. The flags we pass to gcc for our module build currently differ substantially from those used during a kernel build (or modules built with the kernel); I hope to transition to a module build process involving bsd.kmod.mk in the relatively near future. Change-Id: I406e264c1f96e1d893b9d12b561f48a3cbfdf57c Reviewed-on: http://gerrit.openafs.org/2297 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cf34a3e896c940813a05fe663764389a88715a70 Author: Evan Broder Date: Wed Jun 30 09:52:15 2010 +0100 Add human-readable printout to fs df This patch adds a -human option to fs df, which causes it to printout all of its values in "human-readable" form (i.e. rounded to roughly the nearest power of 1024). FIXES 124529 Change-Id: I98e4c872abec5784c6ec600d5d977c36f4a8b0ac Reviewed-on: http://gerrit.openafs.org/2301 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e59a0ff9934f8ea44ecb02e9fdaa81a29bd04b61 Author: Max Cohan Date: Wed Jun 30 09:30:49 2010 +0100 fix & enhance vlclient command-line handling Corrects an EOL bug in vlclient and adds a more user-friendly handling of request for help (i.e., '-help' now works) FIXES 125036 Change-Id: I70f6523d538e34a02536e482f99916293a195df5 Reviewed-on: http://gerrit.openafs.org/2300 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1fdce07cd9b6763ebd3c3b4327fc2c3831802533 Author: Steven Jenkins Date: Wed Jun 30 09:06:29 2010 +0100 Fix VLog so that actual levels are used Fix VLog() so that it actually uses the loglevels and does not set all log messages to level 5. FIXES 125035 Change-Id: Ia9f42a814be182215cedadb6a4837347ace32f41 Reviewed-on: http://gerrit.openafs.org/2299 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1566e42a69935467a5869391ed20860d416fcdd Author: Ben Kaduk Date: Wed Jun 30 00:29:41 2010 -0400 FBSD: in reclaim, print the failed vnode If we fail to flush a vnode, in addition to printing a diagnostic message, also print information about the vnode; fs getfid can frequently confirm which vnode(s) are problematic, which may be useful in debugging the failure. Change-Id: Ia6e93f436f9dcd2d634c46856ede5effbf79e9cb Reviewed-on: http://gerrit.openafs.org/2296 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e8da9bf95460042ca6f91dc60008c5256e03de0f Author: Ben Kaduk Date: Wed Jun 30 00:27:11 2010 -0400 Actually invalidate the buffer in FBSD's FlushPages Chaskiel added a commented-out call to vinvalbuf() in revision bd707fb7e6 back in 2002; adding in what the current call should be does not seem to cause any problems for me. Change-Id: I2450fbaaa51b5baf2781e8a6572065e5f69b44ed Reviewed-on: http://gerrit.openafs.org/2295 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 46727481ec5c47c2d3402acb572bf0d6167690ec Author: Ben Kaduk Date: Wed Jun 30 00:21:10 2010 -0400 FBSD TryToSmush locking fixup We need to hold the interlock when we check v_flags, so do so. TryToSmush is sometimes called with the vnode already locked, as the current code appears to hold the vnode lock for the current working directory (which is probably a bug). Check if the lock is already held (panic if someone else has it!), and unlock as appropriate when we're done. Change-Id: Id09ef1e10632c7f63b590271a6339a069176deac Reviewed-on: http://gerrit.openafs.org/2294 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3688073993b57c4cd13f257294acd192e82012cf Author: Ben Kaduk Date: Wed Jun 30 00:12:59 2010 -0400 Correct whitespace in FBSD/osi_vm.c I'm about to touch this, and the whitespace was bothering me. Change the six-space indentations to match the rest of the code. Change-Id: I35a12c82f8b2b4644e58cf1f19f021282e43dc77 Reviewed-on: http://gerrit.openafs.org/2293 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 659959bea90181a08ed8e76a120b44cec3ff0b8d Author: Ben Kaduk Date: Sun Jun 20 18:49:58 2010 -0400 Correct FBSD-version conditionals for VFS locking The locking around some interfaces has changed with time. Make our preprocessor checks match the reality of when the changes were made. Change-Id: If933dd636bb908af27852897e9c77ed600759674 Reviewed-on: http://gerrit.openafs.org/2292 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c772142111d7c6554ff8de3ee00e7618b20e55fa Author: Derrick Brashear Date: Tue Jun 29 14:33:06 2010 -0400 stop abusing OPTMZ in aklog instead, abuse XCFLAGS less. sigh Change-Id: Ieda727bf62704f31ba4c1aebe3c5b8aa62c2dfed Reviewed-on: http://gerrit.openafs.org/2282 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 7b1bfb4caa800de398c7955cc75adda2a64fdd99 Author: Derrick Brashear Date: Tue Jun 29 14:32:38 2010 -0400 klog warning fix fix warning-found uninitialized variable in klog.krb5 Change-Id: Id4c78e2ceef82fcc7fbb6cdae7b6d07d74495547 Reviewed-on: http://gerrit.openafs.org/2281 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d6f5e5e64b3f1b00560bbfeb6fa8dd85814b5b03 Author: Rod Widdowson Date: Tue Jun 29 18:30:39 2010 +0100 Fix checked build of vldb_check Checkin http://gerrit.openafs.org/#change,2027 appears to have caused issues with the checked build for vldb_check. This fixed is by reflecting the structure change into vldb_check Change-Id: I12343be8a3a31cb2f6474115a8d9137dadd4ae2d Reviewed-on: http://gerrit.openafs.org/2280 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5158766dce97570e51fc3abb2c8b3405fe7c299e Author: Simon Wilkinson Date: Sat Jun 26 19:35:18 2010 +0100 Use git describe to determine build version This patch makes the configure and build system use the output from 'git describe' to determine the version of the software being built. This means that all that is necessary to create a new release is to tag the repository - removing the double sources of version information. There are a couple of fallbacks for systems which do not have git available for builds. Firstly, if a file called '.version' exists in the top level of the repository, then the version information is pulled from this file. The intention is that those packaging up git checkouts for onwards distribution will use 'git describe > .version' before producing their tarballs. Secondly, if we cannot find any version information then the version will default to 'UNKNOWN' This all mirrors the way that many others have integrated git with automake and friends - although the implementation is independent. Change-Id: I7fa4605e52181d60657ad794ca8efdb5a9fb1449 Reviewed-on: http://gerrit.openafs.org/1824 Tested-by: Derrick Brashear Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery commit 020c2284250cd26eb3b45fdbd7b96a84c0c58f5f Author: Andrew Deason Date: Mon Jun 28 11:03:28 2010 -0500 LINUX24: crfree typo crfree, not crfee. Change-Id: I4a2d4bd4e37e409b62d587b22c36f4a6d02e9c32 Reviewed-on: http://gerrit.openafs.org/2272 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 15b8e32c177ce286237a3049a6f8f4f0dd7399dc Author: Andrew Deason Date: Mon Jun 28 10:43:55 2010 -0500 LINUX24: remove pagecopy and other 2.6-only code The client background readahead code and 'readpages' implementation were only written for 2.6 kernels and used 2.6-specific constructs. Remove them, along with references to the 'pagecopy' code, and some other 2.6-only cruft in osi_vnodeops.c. Change-Id: I2e939e98bd72cd7b275b0f7a389607ee5dc94efa Reviewed-on: http://gerrit.openafs.org/2271 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5539e2b55d7413ca86e7ea26f45c796506e6a553 Author: Andrew Deason Date: Mon Jun 28 11:24:04 2010 -0500 LINUX: Remove LINUX26 conditional in proc2cred afs_osi_proc2cred contained a 2.4 implementation; remove it, since we can assume at least 2.6. Change-Id: I605856e920508cf49a975e5375ade87e00598763 Reviewed-on: http://gerrit.openafs.org/2274 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8143e99a2c6ec137313cb9405670c7791b21962a Author: Andrew Deason Date: Mon Jun 28 11:17:50 2010 -0500 LINUX24: Remove BDI references afs_backing_dev_info was still referenced in a couple of places in the LINUX24 code. Although they are properly ifdef-guarded, these lines were never getting built, so remove them. Change-Id: I55ffca5dad99124b9d451925c9fcf15b7060bb9b Reviewed-on: http://gerrit.openafs.org/2273 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cdf8e7de1658aaafe2958c28b7e1fd9bf92f4499 Author: Andrew Deason Date: Mon Jun 28 10:46:22 2010 -0500 LINUX24: NEED_IOCTL32 fixup The NEED_IOCTL32 symbol needs to protect the entire if block, not just the conditionals. Change-Id: Ie33860b1d5677cec19ed19aa1ccc1ce0a26824ff Reviewed-on: http://gerrit.openafs.org/2270 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 26cd8a302c0f91ed9cafd377e1f8dcc473a48917 Author: Andrew Deason Date: Mon Jun 28 10:42:05 2010 -0500 LINUX24: cr_ref is a regular int cr_ref is a regular integer, not an atomic_t, so we need to just assign '1' to it directly. Change-Id: I3533c79a67f7be35724cc81553d24bfecb7b81d3 Reviewed-on: http://gerrit.openafs.org/2269 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 773b4968e450601910c838232e2b281b1db176a6 Author: Andrew Deason Date: Mon Jun 28 10:33:38 2010 -0500 LINUX24: Remove group_info macros/functions The LINUX24 code has a macro and a function abstracting 'struct group_info' access. But 'struct group_info' does not exist in 2.4, and nothing calls these, so get rid of them. Change-Id: Ic38f5be27d55da9fdf6ce7889d4df6afd1464c0f Reviewed-on: http://gerrit.openafs.org/2268 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 16f19e79d1a6a13a3e07ae9be3aab50f28c06045 Author: Rod Widdowson Date: Wed May 26 16:18:26 2010 +0100 Make file offsets in vldb layout unsigned ints vlserver.h has a few cases where links through the vldb are being stored as afs_int32s. These are file offsets and should be unsigned. This commit fixes just these declarations. The code still compiles (because they are silently cast all over the shop), but it starts the tidy effort. Change-Id: Iba14bd28cb43a6ca6401be4252bb45135d8b3a55 Reviewed-on: http://gerrit.openafs.org/2027 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 233253809e978b7487956e9bd56957a848459821 Author: Simon Wilkinson Date: Sun Jun 27 15:15:33 2010 +0100 Make make_libafs_tree.pl use strict and warnings Turn on the perl use strict and use warnings options in the make_libafs_tree script to better catch programming bugs. Change-Id: Ide358d40eda3cde9dd0261af11993560da71143a Reviewed-on: http://gerrit.openafs.org/2266 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b59af55f80b2339a93ba985d496b2e9052f29b60 Author: Marc Dionne Date: Fri Jun 25 20:06:08 2010 -0400 Linux: Use filehandles for all 2.6 kernels This generalizes the use of the exportfs API and file handles to open disk cache files for all 2.6 kernels. Code outside of src/afs/LINUX (ex: afsd) can assume that file handles are used for all 2.6 kernels and can use AFS_LINUX26_ENV to check. Within src/afs/LINUX/osi_file.c, NEW_EXPORT_OPS can be used to determine if the old exportfs API (pre 2.6.24) or the new one applies. All traces of the LINUX_USE_FH define are removed. FIXES 127530 Change-Id: I6803101c56981f9f674cef581f7299656723fdf3 Reviewed-on: http://gerrit.openafs.org/2260 Tested-by: Marc Dionne Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear commit e7b59fb0255f5823ddf4252008281d09d7418bdb Author: Matt Benjamin Date: Sun Jun 27 20:00:37 2010 -0400 linux trivially track host signedness in afs_prototypes.h track host signedness in definition of afs_nfsclient_reqhandler, which changed in 7d1bbee02a80f045a6ae4e30410798f4785906a8. Change-Id: If85cbbb36c138fbe6ded93ba7c1c2af31825f5bb Reviewed-on: http://gerrit.openafs.org/2267 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7005aec9a4a187065048985756f618043d7ec1ed Author: Andrew Deason Date: Fri Jun 25 15:03:23 2010 -0500 libafs: correct export_reqhandler prototype The export_reqhandler function pointer takes an afs_int32*, not an afs_int32 as the fourth argument. Change-Id: I89ef9cfd23a5b673cbbb29fc710236cfe1e3c7cf Reviewed-on: http://gerrit.openafs.org/2257 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7d1bbee02a80f045a6ae4e30410798f4785906a8 Author: Andrew Deason Date: Fri Jun 25 14:17:49 2010 -0500 Use unsigned addresses in the NFS exporter Use unsigned IP addresses in the NFS exporter code in libafs. This modifies the distributed headers exporter.h and nfsclient.h. Change-Id: Ieaddf21e487ae416d7b003223566c999c64279aa Reviewed-on: http://gerrit.openafs.org/2256 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0265d5c1eb04eeb354d89d638758b84fd458b267 Author: Andrew Deason Date: Fri Jun 25 13:52:16 2010 -0500 Use unsigned IP addresses in bu* Use unsigned IP addresss in bubasics, bucoord, and butc code. This alters the public tcdata.p.h, but stays away from wire RPCs or variables used directly with those RPCs. Change-Id: Ica96172399cafbc2c347f725a966cf1db7ff1128 Reviewed-on: http://gerrit.openafs.org/2255 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 38db9afbe9b2201b97f08b3068577a1270071cb9 Author: Andrew Deason Date: Fri Jun 25 12:43:50 2010 -0500 vlserver: Use unsigned addresses Use unsigned IP addresses in vlserver code. This alters some structures in the public cnvldb.h header. Change-Id: I62725ad98d2c4e8bfe610ae9a6132fd0f54cc4aa Reviewed-on: http://gerrit.openafs.org/2254 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b65b462c58858f513f872a500d18ebe3706d5682 Author: Marc Dionne Date: Fri Jun 25 19:33:51 2010 -0400 Linux: remove some 2.6 specific code from 2.4 Remove some code that will never be compiled or used in the afs/LINUX24 directory. This includes code depending on AFS_LINUX26_ENV, and on LINUX_USE_FH which is never set in 2.4 and is going away soon anyway. Change-Id: I972262b45d3518d996756b5dc9f6e6c01450e5cc Reviewed-on: http://gerrit.openafs.org/2259 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ce2162ec99b5ac1a262b99bad3b71c51ee82faff Author: Simon Wilkinson Date: Sat Jun 26 17:39:20 2010 +0100 Autoconf: Update AC_INIT macro use Update the way that we use the AC_INIT macro to match current autoconf conventions Change-Id: Ib1ce2acd879683ff8ff178cfbd9776277ba7460f Reviewed-on: http://gerrit.openafs.org/2265 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ff959f4a2e28a4c44f4962f5077da1148748d28b Author: Simon Wilkinson Date: Sat Jun 26 15:59:21 2010 +0100 RPM Packaging: Make file types clear Make it clear that makesrpm.pl takes the bz2, rather than gzip'd, versions of the OpenAFS distribution. Change-Id: Ifb99448df5c7060186da1f13ee9c38ba95373376 Reviewed-on: http://gerrit.openafs.org/2264 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b64031310d740c9173bacd04f1a6202a2bd5cf65 Author: Simon Wilkinson Date: Sat Jun 26 15:55:29 2010 +0100 RPM Packaging: All debug kernels are bad We can't build against any of the recent Fedora debug kernels, because they have options enabled that make criticial symbols GPL-only. Just skip all debug kernel variants, rather than having to explicitly list each new Fedora release as it comes out. Change-Id: I8ed4c04b10facc79fd5a68888ddb10b368b49bef Reviewed-on: http://gerrit.openafs.org/2263 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 33872fbe570a4b86adb0ea2d5e407ca1ec9cf00e Author: Simon Wilkinson Date: Sat Jun 26 15:54:05 2010 +0100 RPM Packaging: Add support for Fedora 12 and Fedora 13 Add support for building for Fedora 12 and 13, both i386 and x86_64 Change-Id: I2bb6e86ac81eeae720b8dbf185927f6e55be826c Reviewed-on: http://gerrit.openafs.org/2262 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 370872207820e08eb58f497b4a0a49c28b18077d Author: Simon Wilkinson Date: Sat Jun 26 15:35:07 2010 +0100 RPM Packaging: Skip comments in configure.in Skip comments in the configure.in file, so we don't end up using the commented out version information. Change-Id: I14bef1d448b77c915aa04b3fe555b270ce20ac67 Reviewed-on: http://gerrit.openafs.org/2261 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fc76d416bb4f37bf55bd088f4b9893f52e097990 Author: Andrew Deason Date: Mon Jun 14 11:01:06 2010 -0500 Remove semicolon from AFS_NORETURN AFS_NORETURN had a trailing semicolon, which will confuse potential future additional attribute markers, if used after AFS_NORETURN. Remove it. Change-Id: I21fd6b874728b8ca74d0e8abd783cd5015f63e97 Reviewed-on: http://gerrit.openafs.org/2258 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 19531fb40013bce9584e1f4873724d4fa1aa6bf4 Author: Andrew Deason Date: Fri Jun 25 11:38:37 2010 -0500 ptserver: Remove IP_WILDCARDS symbol ptserver defined the symbol IP_WILDCARDS to enable the use of wildcarding in machine entries. It is always enabled, so just remove the symbol and always use the wildcard code. Change-Id: I7d45de5ef1bb0d2c95f1e1ea86fd4418cf3ddd62 Reviewed-on: http://gerrit.openafs.org/2253 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9796686c19152f8e3ccfd6b2d41a46976a3a271b Author: Andrew Deason Date: Fri Jun 25 11:30:15 2010 -0500 ptserver: Use unsigned addresses Use unsigned IP addresses in ptserver code. This alters some prototypes in the public ptuser.h header. Change-Id: Id121f32cb0b6acd575822d37bbd814636023e9ae Reviewed-on: http://gerrit.openafs.org/2252 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fbe5c7f7073324fc80ee0a80ca97e8c1980a3c95 Author: Andrew Deason Date: Fri Jun 25 09:48:38 2010 -0500 rx: Use unsigned addresses RX sometimes uses afs_int32 to represent IP addresses; make it use afs_uint32. This alters some structures in rx.h and some prototypes in rx_prototypes.h. Change-Id: I97df8a5de8f5e0355ab2056825de68bb7122e439 Reviewed-on: http://gerrit.openafs.org/2251 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3bff5ca0b69a23c709123338400e53bb3c00d9e8 Author: Andrew Deason Date: Thu Jun 24 10:19:21 2010 -0500 volser: Use unsigned addresses and volume IDs Fix code and header files in src/volser that use afs_int32 for server IP addresses instead of afs_uint32 (the worst offenders being UV_* functions). Also fix an instance of afs_int32 being used for a volume ID, and remove 'struct volser_dest' instead of fixing it, since it is completely unused. Change-Id: I1008ed158855c2a22b4605b5a037f5e68731529e Reviewed-on: http://gerrit.openafs.org/2249 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f91925aa06757c93f3b2061492f25740390296c4 Author: Matt Benjamin Date: Thu Jun 24 08:51:06 2010 -0400 windows add rx_Get/SetServiceSpecific to libafsrpc module exports Add rx_GetServiceSpecific and rx_SetServiceSpecific to afsrpc.def using the next available ordinals (267 and 268). Change-Id: I31af43e9706b922ef765a51f50f583f492ce375a Reviewed-on: http://gerrit.openafs.org/2245 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit f9c9b78a2c3e7167f22af6af813a3902af4e5e3d Author: Simon Wilkinson Date: Thu Jun 24 16:00:22 2010 +0100 Linux: Check return code from VerifyVCache in mmap afs_linux_mmap wasn't doing anything with the return code from afs_linux_VerifyVCache. Change the code so that it matches the other callers of afs_linux_VerifyVCache Change-Id: I83b949bf3b9579e5dd2e20b487862566c1d7c730 Reviewed-on: http://gerrit.openafs.org/2247 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4c89b6417fc488552ca319a895046118cc1f679c Author: Andrew Deason Date: Wed Jun 23 17:42:30 2010 -0500 Remove stale warning suppressions butc/dump.c and ubik/beacon.c have had their warnings fixed and their suppressions removed. Remove the warning suppression for tbutc/dump.c and tubik/beacon.c, as well. Change-Id: Ie3cae93932797ef5a55403f3548518af6da267f0 Reviewed-on: http://gerrit.openafs.org/2242 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 24e1c7e30fe25d80ec362d887b52b0f3f50ac8b0 Author: Jeffrey Altman Date: Wed Jun 23 12:56:17 2010 -0400 Windows: Cleanup of src/config/NTMakefile src/config/NTMakefile had the following issues: * duplicate entries for headers in $(INCFILES) * no clean: rule for $(INCFILES) * no clean: rule for $(DESTDIR)\util_cr.exe * $(INCTOOLS) dependent upon $(INCFILES) but the order is reversed in the install: rule Change-Id: I2707009d60b303ab897ed25d9245d893fa342a8e Reviewed-on: http://gerrit.openafs.org/2238 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Matt Benjamin Tested-by: Matt Benjamin commit a4b6ac7a4a51c5655d91b971e4cb7d69f7ffc2b7 Author: Matt Benjamin Date: Wed Jun 23 10:26:12 2010 -0400 windows don't include assert.h (and afs support headers) in util_cr.c Don't include afsconfig.h and afs/param.h in util_cr.c, nor assert.h. The assert was included but was in fact not used in the file, and can be ommitted, per jaltman. The OpenAFS includes are then not needed. An incorrect cast is also changed, due to jaltman. Change-Id: I3e1ad7a1d24473d6ad3ce2e401133b25b0a4c795 Reviewed-on: http://gerrit.openafs.org/2234 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 5e4c33f5634b85464945524f3b1c7022c3e921ed Author: Andrew Deason Date: Wed Jun 23 17:47:43 2010 -0500 Indicate that fssync unix sockets are the default Using unix domain sockets for FSSYNC has been the default for some time now; make it clear from the configure help output that this is the case. Change-Id: Ibe8b41361242d6cea035b7710910d7d693f60a85 Reviewed-on: http://gerrit.openafs.org/2241 Tested-by: Andrew Deason Reviewed-by: Russ Allbery commit 3a82ec0f8383446da2f15512895b280339602190 Author: Andrew Deason Date: Wed Jun 23 16:23:15 2010 -0500 ubik: Remove api for reading during write locks This reverts commit eaeff661c26b0f5a504a547952ea1d0f0241b539. The code using this API will not be in 1.6. Remove this interface for the 1.6 branch, as it is known to have issues. FIXES 127520 Change-Id: I3dfef084282b0ca8ec968872b433e60f615a9c44 Reviewed-on: http://gerrit.openafs.org/2240 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 53febebc8a69c3231fb2c7094294f59b747a6ec9 Author: Ben Kaduk Date: Fri Jun 18 00:05:14 2010 -0400 Try to flush vnodes in FBSD's unmount, bailing if necessary vflush() actually returns something! Check if we get EBUSY, and don't continue if so. Also, actually call vflush on FBSD80_ENV. Note that we currently leak refs on our root vnode, so this means umount will fail unless it uses -f, for now. Change-Id: I8f02ebfa127409f0e8567f3efa7eccf491147cbd Change-Id: Iaa4666f1004b49b69a82c778a3de60633fac880f Reviewed-on: http://gerrit.openafs.org/2214 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 73a3990f44b9aefe9281fae6ab69523a069b4adb Author: Derrick Brashear Date: Tue Apr 27 13:22:37 2010 -0400 mariner log messages for creating and removing files give a hint to event listeners that files are being created and removed Change-Id: I6202184424607e97b7d103a6e7033f950c203cce Reviewed-on: http://gerrit.openafs.org/1852 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c39aee89c0649561041e7d955dd3db40629f2570 Author: Rainer Toebbicke Date: Mon Jun 21 12:02:46 2010 +0200 Don't hold on to the afs_xvcache lock while creating a symlink Holding the afs_xvcache lock over the RPC while creating a symlink is a severe blow to performance as look-ups from other tasks likely require the lock. Drop the lock and rely solely on the fileserver to detect a clash with a same entry created simultaneously. Change-Id: Ia6de353bd9dc003addf5f3be7a8f3e769247a513 Reviewed-on: http://gerrit.openafs.org/2233 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit bd3f8adfe02aa09eedeec3cff824745eb749e473 Author: Andrew Deason Date: Wed Jun 23 10:13:39 2010 -0500 vldb_check: Interpret VLOP_* vlentry flags The flags for each vldb entry can have various VLOP_* bits set to show that the entry is locked, and for what reason. In vldb_check, output these bits symbolically instead of mentioning them in "errorflags". Change-Id: Iee7797bc701742e778391c07936eb771139bc8e9 Reviewed-on: http://gerrit.openafs.org/2236 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ee3d62becab62e2ec083ebe4d1834f232270a525 Author: Andrew Deason Date: Wed Jun 23 09:58:38 2010 -0500 vos: Interpret VLOP_* lock flags When a volume is locked in the VLDB, we are given flags for the reason why the lock was set. Make vos interpret and output this reason. This adds output to any vos command that previously printed that a volume was LOCKED. It now outputs, for example, Volume is currently LOCKED Volume is locked for a delete/misc operation Change-Id: Ie3a6f804a3e3a551840975c3689b24d3916891df Reviewed-on: http://gerrit.openafs.org/2235 Tested-by: Andrew Deason Reviewed-by: Jason Edgecombe Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9c0d9cf1e411265c56a74d76dd418bc533afdde8 Author: Rainer Toebbicke Date: Tue May 4 12:06:55 2010 +0200 patch cbd_printCBcrash - harden callback debugging Create callbackup dumps with updates locked out and add bounds checking and loop detection to the cbd program. Change-Id: I927937aef33dca261877b8f2605239f3d4763a8a Reviewed-on: http://gerrit.openafs.org/1902 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e489c44328b12637162f0a62f92f1f9b95279428 Author: Rainer Toebbicke Date: Tue May 4 14:11:30 2010 +0200 Do not corrupt volume linktable when special file already exists Upon volume creation, when a special file unexpectedly exists, e.g. due to a failed cleanup, do not blindly assume that it is the link table. Otherwise the latter's magic will get silently overwritten. Change-Id: Iba05ae771e04272a3dab5534fcfc24cda5ee7df5 Reviewed-on: http://gerrit.openafs.org/1903 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 95636c6fac3c67d0c14dfb5f53c594f942aa9b78 Author: Andrew Deason Date: Fri Nov 27 17:56:19 2009 -0500 Make ubik use unsigned addresses The ubik code currently treats IPv4 addresses as both signed and unsigned 32-bit ints. Make some instances use unsigned ints to make ubik more consistent and squash a couple of warnings. Note that this slightly alters the signatures of the public ubik functions ubeacon_InitServerListByInfo, ubeacon_InitServerList, ubik_ServerInitByInfo, ubik_ServerInit, ubik_ParseClientList, and ubik_ParseServerList, to use unsigned addresses. Change-Id: I27b6170d4de0080bf66d51a6b5332e65685ddef8 Reviewed-on: http://gerrit.openafs.org/875 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8db0c3823590e0bb7b41a9d0f48ed333067bab7e Author: Andrew Deason Date: Mon May 17 15:44:50 2010 -0500 Mention that -fakestat fakes local cellular mounts The afsd man page says that -fakestat only fakes stat information for cross-cell mount points. Technically it fakes stat information for all cellular mount points, local or foreign. Most people shouldn't care, but note the difference, since some places do have local cellular mount points. Change-Id: I9bc61a0284b7d04439578a4fc5a6adf791217463 Reviewed-on: http://gerrit.openafs.org/1979 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 8c633162b98f4aebd3449684574f8a35c9e0fa58 Author: Davor Ocelic Date: Sun Jun 20 15:38:14 2010 +0200 Provide manpage for fssync-debug and most subcmds This is another patch in the series to provide manpages for dafs-related commands. Most (if not all) documentation is coming from source documentation and DAFS articles/presentations. The primary motivation behind this is to comply with Debian guidelines requiring all binaries to have respective manpages. This patch has been sitting here for months, so it's good time to finally submit it. Note that fssync-debug also supports some vcg* commands, for which I was not able to find any documentation I could use. So, they are still left to be documented. Change-Id: I9d067766e2a90b26646edc87f15a4f533c5c8d44 Reviewed-on: http://gerrit.openafs.org/2220 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 20bf8feacddea0000578bacf5789e288d99596c5 Author: Derrick Brashear Date: Tue Apr 27 23:48:36 2010 -0400 no fs sa /afs in dynroot mode change the quick start guide so people stop asking why they can't set the ACL on /afs. Change-Id: Iffc6c95564e99c01cef1b2b54d6b35e9bd01f38c Reviewed-on: http://gerrit.openafs.org/1872 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52ac633da7735c297fa8c43bf9098a6fe0f5beb2 Author: Andrew Deason Date: Fri Jun 11 17:40:18 2010 -0500 vol: break callbacks when needsCallback is set The needsCallback vol header field indicates that a volume has been altered by a non-fileserver program somehow, and that callbacks for the volume should be broken. So, when we attach a volume that has this flag set, break callbacks if we can. If we are not the fileserver, tell the fileserver over FSSYNC to break callbacks if we can. Change-Id: I1b1a4042f0381e8291a407b54ce9478877dacdca Reviewed-on: http://gerrit.openafs.org/2211 Tested-by: Andrew Deason Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 899e0385efb0d0ed9d126bdfc0db2602b225db8b Author: Derrick Brashear Date: Tue Jun 22 11:52:48 2010 -0400 rx mtu ping timing tweaks avoid potentially sending pings too often. if we aren't desperate, push out grow mtu pings to just inside call timeouts. Change-Id: Ieb28700fd02894f3308123c8f64a1ec5ae7989d9 Change-Id: I3a3557680f5486474165567786f9a2da58f34519 Reviewed-on: http://gerrit.openafs.org/2228 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6ed90d5c2d8ebce40aa9d623d9875b0aecf4d986 Author: Marc Dionne Date: Tue Jun 22 17:37:15 2010 -0400 Fix CHush test The compiler flagged this with a warning, and depending on the flags that are set, the test may not give the expected result. Use parentheses to get the intended precedence. Change-Id: If0311aae70d6e71b69e247e5b66e0dd558c2c958 Reviewed-on: http://gerrit.openafs.org/2232 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d8237165f73fec8eb51a96417c4cb5e9fbc09d65 Author: Derrick Brashear Date: Sat Jun 19 11:26:49 2010 -0400 afsd -dynroot-sparse mode for hushed cells if an admin specifies -dynroot-sparse (instead of dynroot) come up with just local cell and cell aliases showing. cell list is configured as normal. fs newcell works as normal. document it. Change-Id: Ie644ed0f9923a85da5451eafaa114ddf36daa671 Reviewed-on: http://gerrit.openafs.org/2217 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 19869b100cc144422f2e5e845773d92082a32e40 Author: Derrick Brashear Date: Mon Jun 21 01:06:38 2010 -0400 test suite warning safety make test suite compile without warning Change-Id: I4e4b63d6ce2ae73e5458913aa81308b2691044a9 Reviewed-on: http://gerrit.openafs.org/2223 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9bb0274398a0e9f6aff7714014e3eefbd77df827 Author: Andrew Deason Date: Fri Jun 11 17:39:32 2010 -0500 salvaged: Break volume callbacks on vol change The salvager code can change a volume in many ways as it fixes errors. We should break callbacks on the volume whenever we change it, as clients may have callbacks on whatever we changed. So, for the salvageserver, send an FSSYNC command to the fileserver to tell it to break callbacks for that volume. FIXES 127030 Change-Id: I1cd869371167df7d4e55ac14400865fb0a9c5154 Reviewed-on: http://gerrit.openafs.org/2210 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1f2b84f1b64625af449070eccb64639d6a8f0a12 Author: Ben Kaduk Date: Sun Jun 20 18:54:26 2010 -0400 Simplify preprocessor logic in afs_pioctl We had identical code in two branches of an if/elif/else path. Merge them together. This allows two DARWIN80_ENV blocks to be coalesced; reindent them correctly while we're here. Change-Id: Icaa047994ec970ee8187a7811ee69de2f36a0503 Reviewed-on: http://gerrit.openafs.org/2222 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit df38462c64c244d97a56e9bbd0902173adb091a1 Author: Andrew Deason Date: Fri Jun 11 17:18:07 2010 -0500 Set VolumeChanged when we create a new root dir Set the VolumeChanged flag when we create a new root directory in a volume when salvaging, since doing so changes the volume. Change-Id: Ic6cd0b0d6f9b52f2006a114269321a38d312ab9b Reviewed-on: http://gerrit.openafs.org/2212 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 591f9b6de9ab3dc5c17ad41af0241527f7f04b31 Author: Andrew Deason Date: Mon Jun 21 17:28:10 2010 -0500 vldb_check: ntohs ubik header size The 'size' field in the ubik header is only 16-bits wide. So, we must use ntohs to convert it, not ntohl. Without this, vldb_check would emit false-positive "Ubik header size is 0" warnings. Change-Id: Iaa06b6dc58b7812b359d6096c112e1f3897c60e2 Reviewed-on: http://gerrit.openafs.org/2226 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4a1efd664b08c96952d987ab8d7b5fd42c0a5526 Author: Andrew Deason Date: Mon Jun 21 15:47:06 2010 -0500 ubik: Do not hide ReplayLog errors For some reason, the ReplayLog code was printing encountered errors in the replay log as debug messages. Print them out as regular log messages instead, since these are errors that at least warrant visibility, if not more action. Change-Id: Ifba22278e2f5f33010b87eebfc484ccd3745f916 Reviewed-on: http://gerrit.openafs.org/2225 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eec0d94f519b3e27f255b9b7a637df043951424e Author: Andrew Deason Date: Fri Jun 18 17:20:22 2010 -0500 ubik: ntohl on reading the replay log When attempting to read the replay log, ubik was not ntohl'ing all integers that were read in from the log, causing the log to appear invalid on little-endian systems. Fix it. This problem manifests as apparent corruption in the database on top of ubik when a commit is occurring when we are shut down, or a disk error is encountered during a commit. Change-Id: I82e04c59d0f55aa2105b02feb6ee332ea85eb4f3 Reviewed-on: http://gerrit.openafs.org/2224 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5f66bed5eb46b992600b7b8e3ae108d0570ac220 Author: Davor Ocelic Date: Sun Jun 20 15:27:06 2010 +0200 Update manpage links, fix doc typo in fssync-debug Change-Id: I93a4fc4c998e489c6bdc736f0f4172c752d9f030 Reviewed-on: http://gerrit.openafs.org/2219 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 307fb143617e0ad59220275c83dc4ea84e495852 Author: Derrick Brashear Date: Sat Jun 19 13:08:43 2010 -0400 update macos readmes no more APSL source is used. also, reboots are not required. Change-Id: I61217b557c6193c922bc1b72b41e076e81db49e5 Reviewed-on: http://gerrit.openafs.org/2218 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f8981f18dfdd5ae9efd03b9d247238dd83f46506 Author: Ben Kaduk Date: Thu Jun 17 00:27:51 2010 -0400 Fix aklog segfault In auth_to_cell(), we only strdup() into the linkedcell argument if there is a linkedCell in the current cellconf. However, in main(), we free linkedcell if it is non-NULL, but it is allocated on the stack and could contain garbage. free() chokes on such garbage, causing aklog to abort(). If we copy nothing into linkedcell, set it to NULL so that we do not attempt to free the bogus pointer. Change-Id: I92905a5f17021ce1bc41909f5ceb1b0344456d93 Reviewed-on: http://gerrit.openafs.org/2213 Reviewed-by: Jeffrey Altman Reviewed-by: Russ Allbery Tested-by: Benjamin Kaduk Reviewed-by: Derrick Brashear commit 196d2c7f9e3250008bf6aed2e172ec6d54e4ffb7 Author: Simon Wilkinson Date: Fri Apr 23 18:39:14 2010 +0100 Linux: Remove the BKL Recent investigations suggest that we no long require the BKL on Linux. As an experiment, remove it. Change-Id: I764fe1f6e9761ada5a0a86ba59450c0615bb1e78 Reviewed-on: http://gerrit.openafs.org/1823 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 77ebaaf639c325a8a51afdc70832ea7ed73d02a8 Author: Russ Allbery Date: Tue Jun 15 18:59:22 2010 -0700 Remove configure remnants of Digital UNIX / Tru64 client Remove the configure flag to specify the location of the Digital UNIX kernel headers and some setup for the kernel module build. Note in README that Digital UNIX / Tru64 is supported for servers only. Change-Id: I983f74068b1a1ae76d9a2b2549a8a141dba4e075 Reviewed-on: http://gerrit.openafs.org/2207 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b1a50290e6e43f2eef323cfaffdfa3fc54bfdf5c Author: Chaz Chandler Date: Mon Jun 14 00:21:50 2010 -0400 IRIX: Implement makesname() makesname() make a semaphore name for use in -type routines on IRIX. It takes as input a pointer to an allocated string buffer (sname) of size METER_NAMSZ, a string prefix (prefix), and a vnode number (v_number). When complete, sname is returned, pointing to the beginning of a NULL-terminated string containing the new name, with a maximum of (METER_NAMSZ-1) characters plus the NULL. The name is a concatenation of the string at 'prefix' and the ASCII representation of the number in 'v_number'. Note: Due to IRIX's use of uint64 to represent vnumber_t and a maximum semaphore name length of 15 (METER_NAMSZ-1), this function cannot be guaranteed to produce a name which uniquely describes a vnode. makesname() is already called from afs_vcache.c but not (or no longer) available / implemented elsewhere. Change-Id: I4331c161b68b39a4c067691c97363b637d13ff15 Change-Id: Ia0a615426dc05e01a98e53e89ec3bae3726cac34 Reviewed-on: http://gerrit.openafs.org/2155 Reviewed-by: Chaz Chandler Tested-by: Chaz Chandler Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear commit 7759e837953fdaf4027474190b865cacb4d1b0fb Author: Chaz Chandler Date: Mon Jun 14 00:18:29 2010 -0400 IRIX code cleanup Fixes a few small errors in IRIX-specific code sections Change-Id: I83e0ca1510eb2d122b9b001f5793f63dabc6ddf1 Reviewed-on: http://gerrit.openafs.org/2154 Reviewed-by: Derrick Brashear Reviewed-by: Chaz Chandler Tested-by: Chaz Chandler commit 10ada52c26ac3aa13112a91ad201dd3203bb70f8 Author: Andrew Deason Date: Tue Jun 15 12:19:25 2010 -0500 Do not assume non-valid addrs in addr hash table As part of host state verification, we were calling h_stateVerifyAddrHash to verify that all addresses for a host were in the address hash table. The problem with this is that interface addresses that are not marked as 'valid' are intentionally not in the addr hash table. So, any time there was a non-'valid' interface address in the host state, we stood a very good chance to fail to verify the state. Instead, if we have a non-'valid' address, try to verify that it is _not_ in the addr hash table (or at least, is not pointing at the host with the non-'valid' interface addr), since they're not supposed to be in there. Change-Id: I02fb0f516fa3ef384471d19bb1b970cfd8aff874 Reviewed-on: http://gerrit.openafs.org/2205 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4481a22dc7fa48c7a057f27828da44ab0b4dbf26 Author: Andrew Deason Date: Tue Jun 15 10:58:58 2010 -0500 Make h_stateVerifyAddrHash log port on errors When h_stateVerifyAddrHash logs that an error in state verification occurs, it was only logging the address of the host causing the problem. Log the port, too, since there could be multiple hosts with the same address. Change-Id: Ideee34f075948a0cb7cc1014920be5e120bdc6ef Reviewed-on: http://gerrit.openafs.org/2204 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6dc50767f88795858783fe9dbbdf90901f1fd684 Author: Russ Allbery Date: Thu Jun 3 19:50:14 2010 -0700 Fix aklog warnings when building with Heimdal Fix various warnings in the aklog and klog code when building with Heimdal. Use krb5_get_init_creds_opt_alloc if it's available rather than allocating the struct off the stack, since the _opt_init function is deprecated. Change-Id: Ieff986121de9078e9402b0a51a8855655330caba Reviewed-on: http://gerrit.openafs.org/2082 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9784847fedee9540a210f272e3c38862ba1903ea Author: Russ Allbery Date: Tue May 25 22:19:14 2010 -0500 Rework the Kerberos Autoconf probes Previously, building with Kerberos support required either passing a flag to configure giving the location of a krb5-config script, or manually setting variables specifying the Kerberos libraries and header path. Replace that code with code that checks for Kerberos libraries automatically and builds the Kerberos code if any were found, with support for doing direct library probing if there is no krb5-config script. Add several platform-specific overrides directly into the configure support, so we should be able to build out of the box on Mac OS X 10.3, HP-UX, and AIX Kerberos with the new probes. The Kerberos Autoconf macros are now the versions that come with rra-c-util and are tested with multiple other packages, so both OpenAFS and those packages will be able to benefit from further portability improvements. Update README for the new building instructions, documenting how to configure the Kerberos probes if they can't automatically figure out the location and flags for Kerberos on your system. Change-Id: Ia35bb0dbc6b94c6b4dfe8165388447dbfcb31a29 Reviewed-on: http://gerrit.openafs.org/2026 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 581aafaa698e395bfcfb7b82b595fbdef4b11279 Author: Andrew Deason Date: Tue Jun 8 17:28:39 2010 -0500 GetVolume: do not wait for offlining volumes In non-DAFS GetVolume, previously we waited for a volume with vp->goingOffline set to go offline before we return. However, the fileserver afsfileprocs.c case can treat the "going offline" case and the "is offline" case identically, so there is no reason to wait. So make the fileserver call a new GetVolume variant that does not wait. Without this, all of the threads in the fileserver can potentially be tied up by waiting for a volume to go offline, if the volume is taking a long time to go offline due to an offline request following a client slowly accessing the volume. Change-Id: I58ae11e585852130154389d8df0567432cd0c2df Reviewed-on: http://gerrit.openafs.org/2124 Reviewed-by: Derrick Brashear Reviewed-by: Tom Keiser Tested-by: Derrick Brashear commit d7c79cec8295dd34fb97e6f22bfcc69dccb9f4c4 Author: Andrew Deason Date: Tue Jun 15 12:33:48 2010 -0500 afscp: Correctly advertise local addresses afscp was reporting its local address list in net-byte order, and then giving that list as a response to RXAFSCB_WhoAreYou. Instead, convert the addresses to host-byte order, since XDR takes care of endianness foo. Change-Id: I5d7d57f811ccaeada235e694ec5f343c1ac535b7 Reviewed-on: http://gerrit.openafs.org/2206 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0b958626014b9fabb7bd4c4b925838462dc09d82 Author: Jeffrey Altman Date: Tue Jun 15 07:32:11 2010 -0400 mkvers.c - remove afsconfig.h, afs/param.h and assert.h assert() is not used within mkvers.c. afsconfig.h and afs/param.h have dependency problems in src/config/ Change-Id: I2012a01c87cbd993a70df76ee3384b43ff037b29 Reviewed-on: http://gerrit.openafs.org/2203 Reviewed-by: Simon Wilkinson Tested-by: Simon Wilkinson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit c3d55face7e3a2e1d0f6253e686cc9b1e84d4dfc Author: Andrew Deason Date: Mon Jun 14 13:28:37 2010 -0500 Fix tptserver and tvlserver install rules Commit 00c37e8634b97dba3431804cea467a046be525d5 introduced a few usages of 'ifeq' in cross-platform Makefiles, breaking the build when not using GNU make. Fix this by making the tptserver and tvlserver 'install' and 'dest' targets behave more like the 'ptserver' and 'vlserver' ones, and correct the ptserver 'install' target while we are here. Change-Id: Ia3fd9149c0f18a96a9899a5dfde41e53a45102b7 Reviewed-on: http://gerrit.openafs.org/2160 Tested-by: Andrew Deason Tested-by: Benjamin Kaduk Reviewed-by: Benjamin Kaduk Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7620e48414e7826f50a5dba86c5544512ac8a879 Author: Andrew Deason Date: Tue Jun 8 17:19:46 2010 -0500 Cleanup and doxygen-ify the comments for GetVolume Change-Id: I54788acd83779b986e78575bde11347952293be6 Reviewed-on: http://gerrit.openafs.org/2123 Reviewed-by: Tom Keiser Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a62de618552bd3a3ccb5d1988fd3b5b82cb5124f Author: Russ Allbery Date: Mon Jun 14 15:28:20 2010 -0700 Build util tests properly with make check If one runs make check without previously running make at the top level first, it didn't build the util test programs properly. Recurse into subdirectories for make check as well, and add the check, test, and tests targets to tests/util/Makefile.in Change-Id: Idc2caf4cf83a48da350e724aba2ac1228795085d Reviewed-on: http://gerrit.openafs.org/2162 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9316f209eda47362d7b96464b1fff4bd5b086da7 Author: Jeffrey Altman Date: Mon Jun 14 14:13:11 2010 -0400 Windows: ensure that afsconfig.h and afs/param.h are included The recent addition of AFS_NORETURN broke the Windows build because afsconfig.h and afs/param.h were not included everywhere. Make sure that they are. Change-Id: I5962fe1178f73273f5b3c1d269b1a125fba2d2c6 Reviewed-on: http://gerrit.openafs.org/2159 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 9579d09533d4f94c38bb4755c6df90552483b7b6 Author: Jeffrey Altman Date: Mon Jun 14 13:36:32 2010 -0400 Windows: fix definition of lstat() macro The lstat() macro definition has to take into account the version of the compiler and the size of time_t. Change-Id: Id7ad8c3956bba9832cc028db628cfabe58a1d8d9 Reviewed-on: http://gerrit.openafs.org/2158 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 9b1f0e90bf0b7bb6c2d018bb9a65986f4039e4ef Author: Jeffrey Altman Date: Mon Jun 14 13:35:12 2010 -0400 Windows: define errno_t on compilers older than 1400 Visual Studio older than 1400 (VS8) does not define errno_t. LICENSE MIT Change-Id: I27c0892d8ba4a371417f635b0d6e5677fa655422 Reviewed-on: http://gerrit.openafs.org/2157 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit eaeff661c26b0f5a504a547952ea1d0f0241b539 Author: Andrew Deason Date: Thu May 20 15:22:11 2010 -0500 ubik: add interface for reading during write locks Add ubik_BeginTransReadAnyWrite, which allows for reading from the database, even while there is a conflicting ubik write lock. Reads are still blocked while the local database is updating due to a write transaction commit. Change-Id: I5604fa3cc8a334606f5e3535aed6f6cedcb5f167 Reviewed-on: http://gerrit.openafs.org/2103 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b8177960d4e376011adf379b87d8b8ba051c0fd0 Author: Derrick Brashear Date: Sun Jun 13 22:05:27 2010 -0400 arm darwin port make things buildable on arm darwin Change-Id: I88af2b82e9ed356fd57aa8f05dfee71d7fa6cd8a Reviewed-on: http://gerrit.openafs.org/2153 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f790747143372e307dd285b08c270650dd9c5c12 Author: Derrick Brashear Date: Sun Jun 13 11:03:25 2010 -0400 ktc newpag stub when environ is not supported on macos systems where we can't get the environment, just return from ktc_newpag Change-Id: I9a169d0bf035c40d727a386bb3d2070eea225ed4 Reviewed-on: http://gerrit.openafs.org/2150 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8af23688c0a2250f64e6a7b8794fde77ae9394b4 Author: Derrick Brashear Date: Sun Jun 13 10:57:38 2010 -0400 darwin afsd include cleanup remove mach port stuff from non-kernel version (it's for DiskArb) remove sysconf, iokit, corefoundation, dns_sd from kernel version. Change-Id: Ibdf9d8a71f5f0fee659d0c05eea4811617c2b34f Reviewed-on: http://gerrit.openafs.org/2149 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cc9d358cd83c0e542b57ac6c25cb27824b638c32 Author: Marc Dionne Date: Sat Jun 12 19:43:05 2010 -0400 Linux: Fix RCU_READ_LOCK test The names of some configure defines changed with the recent autoconf cleanups. This one was missed and was left with the old value. Change-Id: Ibce5e36b8ae6becdfa61bf6e9c440b3d9a6fa272 Reviewed-on: http://gerrit.openafs.org/2130 Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear commit 1486563b2b6dc3b7d1f598aa963bd4e0f84bdb52 Author: Derrick Brashear Date: Sun Jun 13 10:54:50 2010 -0400 afsd mill dup sys/mount.h include we include sys/mount.h twice. don't. Change-Id: Ifc872488086a00d32b564d60a5f9a8b374e8f752 Reviewed-on: http://gerrit.openafs.org/2148 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 3514c22d061171a1557509a728bc1fd523c9b956 Author: Derrick Brashear Date: Sun Jun 13 09:49:32 2010 -0400 generated file target in order to cross compile, allow a way to generate generated files on the host Change-Id: I9639f350b179dbeb3d45802e8685da88a3b06c83 Reviewed-on: http://gerrit.openafs.org/2147 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit de75d9d8aa490935ec65947fc6d82a19f936b119 Author: Derrick Brashear Date: Sun Jun 13 01:51:30 2010 -0400 buildtools target if you wish to cross compile, you want these things. arrange to be able to build just them Change-Id: I6bee40b61a16722c402832bba39d2e88dcabec25 Reviewed-on: http://gerrit.openafs.org/2145 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d26f5e158cffa313d0f504e7ba3afc1743b5d1ef Author: Derrick Brashear Date: Thu Jun 10 14:47:24 2010 -0400 unix cm activate mtu pings set an error code so idle dead time is enforced on sending. needed in order that MTU pings be activated. Change-Id: I8cf1ca81e6519b440fc679e85f327f338400c29a Reviewed-on: http://gerrit.openafs.org/2116 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c7f9307c35c0c89f7ec8ada315c81ebc47517f86 Author: Derrick Brashear Date: Thu Jun 10 14:37:39 2010 -0400 rx mtu ping handling engage mtu pings. only occur while a call is active but results are cached per-peer. requires idle dead time to be in use, or does not activate. (needed to time out the call, otherwise, keepalives will succeed and the call will thus not hit regular "down server" timeout) Change-Id: Ic29b1b5713fb6debde14f4adfd5019ee80cc9e3c Reviewed-on: http://gerrit.openafs.org/2115 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c62cb89abb494630c12994f702d6986de2a38fe5 Author: Derrick Brashear Date: Thu Jun 10 11:41:23 2010 -0400 path mtu don't track nonsequenced packets for the purpose of mtu discovery, we need a sequence number to correlate if a large packet is acked. don't track sequence number 0 packets. a later change adds the mechanics needed for MTU pings Change-Id: I83d4466115bbd45acdc2777bfbef0ff393dd5a3f Reviewed-on: http://gerrit.openafs.org/2114 Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit be035b08248fa3e1f31f6911e9dc877eb5d53f82 Author: Derrick Brashear Date: Thu Jun 10 11:37:35 2010 -0400 rx checkcall kill extra indirection on call for conn we already set a local variable, conn, to call->conn. use it instead of dereferencing call->conn repeatedly Change-Id: I5d38edc1d3507a717598140393094b1ba22ced46 Reviewed-on: http://gerrit.openafs.org/2113 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear commit 658d2f47281306dfd46c5eddcecaeadc3e3e7fa9 Author: Derrick Brashear Date: Thu Jun 10 11:34:39 2010 -0400 idle dead time track less retransmits don't count as sends for idle "send time" purposes. neither do ping acks. disallow both in computations. Change-Id: I599bb1111189efd21580d357c31c043f2315f910 Reviewed-on: http://gerrit.openafs.org/2112 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Derrick Brashear commit ab45d1adc11c756f426baa076ab423b4e969b5d5 Author: Derrick Brashear Date: Thu Jun 10 11:24:09 2010 -0400 unix cm log path mtu warning when retrying if RX_MSGSIZE is analyzed and we'd retry, so indicate to our users Change-Id: I77aba5dffd4280e0ee43383cadb34aca4042cbd6 Reviewed-on: http://gerrit.openafs.org/2117 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f2f3c24b2c374e4c7e2b53cacc4959f592b8310b Author: Matt Benjamin Date: Sun Jun 13 18:16:37 2010 -0400 mcas fix gc_get_tag return type The return type from gc_get_tag is char * LICENSE BSD Change-Id: If15259858b84f71d969f1e7713371f3de4e0c3a5 Reviewed-on: http://gerrit.openafs.org/2151 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 77684b64dbf721a9a5d41aa1c70fd175fd27b329 Author: Matt Benjamin Date: Sun Jun 13 18:24:48 2010 -0400 mcas cleanup inc/dec macros fix type of intermediate value used in CAS operations, and reformat slightly. LICENSE BSD Change-Id: If49be8e020e0f735d67290440b1a74caccf90bf0 Reviewed-on: http://gerrit.openafs.org/2152 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9baec50e7bfa0d900bc33d91a277f24e72889e40 Author: Simon Wilkinson Date: Sat Jun 12 10:42:43 2010 +0100 libadmin: Don't dereference NULL pointer in cmd If DoBosHostList ends up being called without the -server argument in its command structure, then a printf will attempt to dereference a NULL pointer to the -server field. Caught by clang-analyzer Change-Id: I1114406d03b265f4d780efd8e84fea53013cb51c Reviewed-on: http://gerrit.openafs.org/2143 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 904c9fbebab97b760dd853fa393e1c576c7db00c Author: Simon Wilkinson Date: Sat Jun 12 10:35:34 2010 +0100 fs: Can't use store behind data if pioctl errored If the call to a pioctl returns an error, it's possible to reach the end of the storebehind function and try and print an old, or bogus, value from the pioctl data block. Caught by clang-analyzer Change-Id: I1209c0c24730273510fbad98a75a429917836605 Reviewed-on: http://gerrit.openafs.org/2142 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6dd07af215e2cc75cb7c902b5a06920a5ee5235c Author: Simon Wilkinson Date: Sat Jun 12 10:26:09 2010 +0100 viced: CopyOnWrite2 shouldn't return undefined val Unless CopyOnWrite2 encounters the condition where (rdlen != length) || (wrlen !=length) it will never set a value for the 'rc' return code, and so return with an undefined value. Looking at the code, it looks like rc should be 0 in all other situations, so this patch provides a default value. Caught by clang-analyzer Change-Id: If3e528f3d66abb3dde6da2304084f7698c05b863 Reviewed-on: http://gerrit.openafs.org/2141 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0deaa4d58cdd0af2b402e06df1edd0cf4d49074c Author: Simon Wilkinson Date: Sat Jun 12 10:25:07 2010 +0100 Formatting fixes Reformat the CopyOnWrite2 function to match our current coding style Change-Id: I9483c2d391932d675c6c76d6edbb2b8f519b2568 Reviewed-on: http://gerrit.openafs.org/2140 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e35e0b732db1132de4b5f9af050cf6939792ef8e Author: Simon Wilkinson Date: Sat Jun 12 00:23:22 2010 +0100 vol: open() needs mode if called with O_CREAT If open() is called with a the O_CREAT flag, then it requires a 3rd argument, containing the mode with which to create the file. On DARWIN (when we always use O_CREAT), and on other platforms where the first call to open returned E_NOENT, we weren't doing this, and so were presumably getting a random mode of whatever garbage was on the stack. Caught by clang-analyzer Change-Id: Ic173e582e0d46f6d4cf8801dc7a6b4b393db5063 Reviewed-on: http://gerrit.openafs.org/2139 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c880fe7740864daca59b93d35055c1973d9382a9 Author: Simon Wilkinson Date: Sat Jun 12 00:16:11 2010 +0100 audit: result is only used on AIX The 'result' variable is only used on AIX - only bother assigning it when we're building there. Caught by clang-analyzer Change-Id: I06848837282ff3f318474f55f2ee013255ad37c8 Reviewed-on: http://gerrit.openafs.org/2138 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 713b65adaa756b5a66ccb0620d5f2bc50642f2f1 Author: Russ Allbery Date: Sat Jun 12 16:07:52 2010 -0700 Avoid off-by-one error when saving the password in klog When klog saved the password entered by the user to allow attempts at multiple AFS principals without reprompting, it copied the whole buffer according to the declared reply length into local storage. This was done without regard to the local allocated storage size, and was then nul-terminated without regard to the allocated storage size. Both klog and Heimdal use a size of BUFSIZ for the reply buffer by default, which meant that klog on Heimdal was writing past the end of the allocated structure when nul-terminating the password. Store our allocated buffer size in the struct and only copy at most one fewer than that many characters, and then nul-terminate accordingly. (The assumption that BUFSIZ is always long enough is still bogus, but that's larger surgery.) Change-Id: Ic8d4357aad2f8dfa0fffe9849d2546a88ecd246a Reviewed-on: http://gerrit.openafs.org/2129 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bc8f2bfb1cc78458729ca29c6623adff80237018 Author: Marc Dionne Date: Sat Jun 12 20:43:25 2010 -0400 Linux s390x: replace AFS_64BIT_KERNEL with AFS_LINUX_64BIT_KERNEL The s390x param.h file defines AFS_64BIT_KERNEL, but this looks to be AIX specific, and some Linux headers expect AFS_LINUX_64BIT_KERNEL. This causes many errors because we end up trying to use struct flock64 instead of struct flock. Change-Id: I39a4a94fa895143172c1ee75ff71c2015232156f Reviewed-on: http://gerrit.openafs.org/2131 Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0efea8e2b1162ef88ef27daeffa1acb69c850566 Author: Simon Wilkinson Date: Sun Jun 13 01:44:27 2010 +0100 bucoord: Use mkstemp properly Use mkstemp wherever we have it available, to silence warnings about mktemp's safety. When we do use mkstemp, use it properly. It doesn't return void, it returns an open filehandle. Convert this filehandle into a FILE *, rather than throwing it away, and leaking an open file descriptor. Caught by clang-analyzer Change-Id: Ib5864f684c6d5a8686e0a872364a645c90a29390 Reviewed-on: http://gerrit.openafs.org/2144 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ad3aa5205b8c4f645881276e4a9b7ce9066c3e96 Author: Simon Wilkinson Date: Fri Jun 11 23:59:49 2010 +0100 comerr: Don't leak CFStringRef If str is NULL on entry to _intlize, than it will leak the CFStringRef that it constructed a few lines earlier. Fix this. Caught with clang-analyzer Change-Id: I6d62e7792918da95e4fed1c676d14ad9124d93fa Reviewed-on: http://gerrit.openafs.org/2137 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5388e1425d361a52728ce113fb31fb27f7e5539c Author: Simon Wilkinson Date: Fri Jun 11 23:50:29 2010 +0100 libadmin: Don't use undefined value If IsValidCellHandle returns false, then we can jump to fail_pts_GroupMemberRemove, and end up using a value for ids.idlist_val which hasn't been defined. Fix this. Caught by clang-analyzer. Change-Id: I030d155f9ad2481250e84c31d4d7d26cb39a9c61 Reviewed-on: http://gerrit.openafs.org/2136 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6c645092eeb9c44d45d5ceab264a360eef7f2536 Author: Simon Wilkinson Date: Fri Jun 11 23:49:34 2010 +0100 Add support for clang compiler attributes Rearrange the way that we define compiler attributes so that we can define them for clang, too. Don't assume that clang will support all of the attributes that gcc does, so split them up into separate sections. Change-Id: Ic6233f5c63a07b3ef99a85ae3be9e45e28387127 Reviewed-on: http://gerrit.openafs.org/2135 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8faceb4ba4c66069a03fc03a57d8b0af03dfbefc Author: Simon Wilkinson Date: Fri Jun 11 23:46:29 2010 +0100 Add AFS_NORETURN macro and use it Add the AFS_NORETURN macro which can be used with gcc compatible compilers to indicate that a particular funciton prototype will not return control to the caller. This both improves code quality, and helps with static analysis. Use this to flag afsmon_Exit, db_panic, osi_Panic, Abort, Exit and the error handlers for osi_Assert and our local assert fn all as being noreturn. Change-Id: Ic6c4ae319af3d6f7665c9ee5072b556c01850982 Reviewed-on: http://gerrit.openafs.org/2134 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 07bd99c9d52712b0282d709d294d33d382dcbe81 Author: Simon Wilkinson Date: Fri Jun 11 23:33:07 2010 +0100 rxgen: Remove inlist from autogenerated code The 'inlist' variable is only used by code that is #if 0, and never emitted by the rxgen source. Remove the definition, and assignment, to this variable. Caught by clang-analyzer Change-Id: Ife162d392a47c48e1eebd75fe2c0af9524cd758a Reviewed-on: http://gerrit.openafs.org/2133 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 09e17c245220203b7fc14cb5908f8475d79a0707 Author: Simon Wilkinson Date: Fri Jun 11 22:25:35 2010 +0100 Changes to build with clang on Mac OS 10.5 clang defines __x86_64__ and doesn't define __i386__ when building on a 64bit Leopard machine. Change the defines in param.h so we can build on this platform. Change-Id: Icfc16ca83162e8148d4261207c05d90d12cbabc2 Reviewed-on: http://gerrit.openafs.org/2132 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 084a7f1beb9925372d3d4e0af1a2e3f388bc4a53 Author: Russ Allbery Date: Thu May 27 17:17:43 2010 -0500 Document vos listaddrs -host and -uuid Document the -host and -uuid flags to vos listaddrs. They were mentioned in the SYNOPSIS, but not in the OPTIONS section of the manual page. Change-Id: I96e6b67b7239d9455060fd0c76b8d44f41a010a2 Reviewed-on: http://gerrit.openafs.org/2083 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 2af0cca23b79da3961618640f9b0b2cccbd80bc9 Author: Simon Wilkinson Date: Sat Jun 12 22:59:23 2010 +0100 Linux: Fix set_cr_group_info and cr_group_info Commit dc85abca renamed set_cr_group_info to afs_set_cr_group_info and cr_group_info to afs_cr_group_info, but didn't catch all call sites. In particular, those in the NFS translator, in non-keyring code paths, and in the 2.4 code, were missed. Thanks to Adam Megacz for the bug report on openafs-info. Change-Id: I71f8cc27d499c98d164d05e02f7d5b2c5d4c1933 Reviewed-on: http://gerrit.openafs.org/2127 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dcd3e1fa111d3b6dfeb5965a487285119619f362 Author: Andrew Deason Date: Thu Jun 10 11:51:57 2010 -0500 Do not set inUse for non-fileserver non-DAFS Setting inUse in a volume header to anything besides 1 is a DAFS-specific change. For non-DAFS, non-fileserver programs do not touch inUse. Since inUse is not cleared for non-fileserver non-DAFS, make sure not to set it for non-fileserver non-DAFS. Change-Id: I4d50299d4dc4fd8757906ba493d182b386dd9b1b Reviewed-on: http://gerrit.openafs.org/2122 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit df18c9e895e75e77ed466dea3b06ef2a0a07260a Author: Andrew Deason Date: Fri Jun 11 16:51:02 2010 -0500 vlclient: work with non-space whitespace Make vlclient work with non-space whitespace separating arguments. This also makes it cope with a trailing newline that fgets() gives us, making this more intuitive to use. Change-Id: Ida4da9f997ac073a5afa6c95e1b3cec180c18e1a Reviewed-on: http://gerrit.openafs.org/2126 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 6bc2b1af64a12a0cd3b3792803b71e92099425af Author: Derrick Brashear Date: Fri Jun 11 15:06:24 2010 -0400 dafs state analyzer shouldn't require trailing spaces in commands the tokenizer didn't null out \n, but the strcmps for commands didn't deal, so this basically works badly interactively. all commands not recognized. Change-Id: Ifa7f8c0204a83d27f8876af8de94cb338499cdc0 Reviewed-on: http://gerrit.openafs.org/2125 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f4fb6cd4bf4bbfffef4cd3a9a36b3f5c23d447a9 Author: Andrew Deason Date: Thu Jun 10 10:29:39 2010 -0500 Remove afsio warnings and errors Fix a few warnings and errors in afsio, so it can compile: - inlcude rx/rx_prototypes.h, not rx_prototypes.h - only declare 'code' in SRXAFSCB_TellMeAboutYourself, and the global rx_mtu in AFS_NT40_ENV, since they're only used on NT40 - remove declarations of the unused variables 'host' in HandleLocalAuth, 'i' in readFile, and 'i' in writeFile Change-Id: If39420cca791669200ccb4d3f46aa5ac7eb89c7d Reviewed-on: http://gerrit.openafs.org/2121 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48d3fd9eedc122dec2c7b76f97078c56a77af89b Author: Matt Benjamin Date: Thu May 27 19:14:20 2010 -0400 windows cm_BeginDirOp add flags (nobuildtree) Add a flags argument to cm_BeginDirOp, and define a flag CM_DIROP_FLAG_NOBUILDTREE which asserts that the operation being synchronized does not require scp->dirPlus to be constructed. Change-Id: Ibc4345574da3c1e7717c83b64a83260f70a3b06c Reviewed-on: http://gerrit.openafs.org/2053 Reviewed-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman commit 60e5d85fd089af9b1efff6ac5b8577c14a04e021 Author: Simon Wilkinson Date: Fri Jun 11 10:48:37 2010 +0100 RX: Can't assert a void result We can't assert(MUTEX_DESTROY(blah) == 0) when the MUTEX_DESTROY macro already returns void (and asserts), as it does in the pthread case. This fixes the build failure introduced by 53c9258cd7300c03be3f3e50003cad3dfc59baf3 Change-Id: I0b7a30e785de3437f0c1e264b4a63c87f63b6783 Reviewed-on: http://gerrit.openafs.org/2120 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 53c9258cd7300c03be3f3e50003cad3dfc59baf3 Author: Matt Benjamin Date: Tue Jun 8 18:29:13 2010 -0400 rx service specific data Adds rx_GetServiceSpecific and rx_SetServiceSpecific to the rx_service interface, conforming to the equivalent calls in the rx_connection interface. For consistency, the implementation strategy is the same. The intended use is to more cleanly support server multiplexing within an RPC-based test dispatch library. Change-Id: I6a8968484efe2c858857008321996e67328bb75c Reviewed-on: http://gerrit.openafs.org/2097 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 157a274b8b1f6c39751d876354e1d8453d66b864 Author: Andrew Deason Date: Wed Oct 21 22:16:38 2009 -0500 Break origin's callback for RXAFS_Rename target When we RXAFS_Rename something, the status of the renamed FID can sometimes change, and thus we break callbacks on it. Currently, however, we do not break the callback for the originating client, even though the status of the target changes and we do not return an AFSFetchStatus to the caller. Since the callback is not always broken for the target, it may not be immediately obvious to client implementations to implicitly break the target's callback. Since we do not have an explicit protocol specification saying that the callback is implicitly broken, break the callback for the origin client as well, to be safe. Change-Id: I97d90518a240f852013d1d63fccef663c8b0e998 Reviewed-on: http://gerrit.openafs.org/709 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 92d67bee7aae20498eefb77c06b0a085c5d069ce Author: Andrew Deason Date: Wed Sep 9 15:56:26 2009 -0500 Avoid unnecessarily updating .. in SAFSS_Rename Currently the .. entry for a directory is always recreated on a Rename operation, even if the parent directory does not change. Now, avoid altering the directory at all (including no COW nor DV bump nor vnode modify time update) when we don't need to. Change-Id: I53478ec05e2fc6362836043476ff67e2c41b7feb Reviewed-on: http://gerrit.openafs.org/436 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b9ef2051c5affe597995df530a386baaa9807a9e Author: Jeffrey Altman Date: Wed Jun 9 13:55:14 2010 -0400 Windows: Revise SMB QuerySecurityInfo for MS10-020 MS10-020 (http://support.microsoft.com/kb/980232) has caused many problems for implementors of SMB 1.0 servers and applications that call GetFileSecurity() without checking the return code to determine if the call succeeded. The gist of the vulnerability was that the SMB redirector would pass any buffer it received to the application regardless of whether or not it was valid. MS10-020 protects the applications by strictly validating the SMB response data structure and the data in the security descriptor that is returned. The problem for SMB 1.0 server implementors is that there have been at least three different protocol descriptions for NT_TRANSACT_QUERY_SECURITY_DESC published over the last decade and all of them are incomplete. Therefore, just about no one but Microsoft has an SMB 1.0 server implementation that produces the exact out that they are expecting to validate. The end result is that in an attempt to protect applications from crashing due to invalid input being passed in directly caused dozens of applications to crash by not returning any security descriptor data at all. Even when the applications didn't crash they might not have been able to save their data. Cisco WAAS and NetApp DataOnTap systems were most adversely affected and they have had CIFS protocol licenses for many many years. To fix OpenAFS here is what needed to be done: 1. Instead of returning a security descriptor that gives ownership to the NUL SID, give it to the Everyone SID and set the flag that states that everyone has full access. 2. Validate the input parameters. In particular, check to ensure that the SMB file descriptor is valid and the file has not been deleted. 3. Enforce the maximum output data and parameter counts. 4. Handle buffer overflow and buffertoosmall conditions in the manner that Microsoft expects them to be handled. In particular, note that the parameter data which is returned in the SMB Data Region is not counted in the Data Count. Even if MaxData is 0, we can still return parameters values as long as MaxParm is large enough. LICENSE MIT Change-Id: I95034bc6f24a282decc507edcffb93bc58b986be Reviewed-on: http://gerrit.openafs.org/2110 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Asanka Herath Reviewed-by: Jeffrey Altman commit 368ba0478c79d3ab00b0440ca763babd7583b30e Author: Derrick Brashear Date: Mon Jun 7 00:29:06 2010 -0400 further constrict nat pings one more constrainment of nat pings on unix Change-Id: I8b3db989b0e16a79cd63795147145c5e0ab55e6e Reviewed-on: http://gerrit.openafs.org/2091 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 52ffc6a152fea98c5a4232c9345e7bd89b1c00b7 Author: Russ Allbery Date: Wed Jun 9 14:12:49 2010 -0700 Add additional documentation for the new test suite Add a copy of docs/writing-tests from C TAP Harness as HOWTO and add a README with some additional explanations more specific to OpenAFS. Change-Id: Ic5b04805db6b00bcb82862ad8d2ebe466f2c266b Reviewed-on: http://gerrit.openafs.org/2109 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 00c37e8634b97dba3431804cea467a046be525d5 Author: Andrew Deason Date: Fri May 21 11:47:42 2010 -0500 Install pthreaded ptserver and vlserver When --enable-pthreaded-ubik is specified, install the pthreaded versions of ptserver and vlserver instead of the non-pthreaded versions. Previously, the pthreaded versions were getting built but not installed with 'make dest' or 'make install'. Change-Id: If2f08342df4c94c1cce3001614d9e050222bf0f6 Reviewed-on: http://gerrit.openafs.org/2102 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d159cd955f4639334a963d92d82cd90318be5999 Author: Andrew Deason Date: Fri May 21 11:19:53 2010 -0500 Move FreeBlock prototype to vlserver_internal.h FreeBlock is only used in internal vlserver code and should not be called by anything else; it should not be prototyped in a public header. Move its prototype to go along with the other vlserver internal prototypes. Change-Id: Id66f046c76a9d4c454bbd6fd6e65c75dbeccf68e Reviewed-on: http://gerrit.openafs.org/2101 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7912910fd85ed28fdda8a034225ea041f554fea9 Author: Andrew Deason Date: Wed Jun 2 15:06:51 2010 -0500 Define updateUbikNetworkAddress static updateUbikNetworkAddress is static, and its prototype says so. The actual implementation of the function lacks 'static', though. Add it. Change-Id: Ida8e54cecabfffb2adbeb5f12d233668897893f8 Reviewed-on: http://gerrit.openafs.org/2100 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6ee6125f7178d9d2f93a8cb10532412bf0e295fc Author: Russ Allbery Date: Tue Jun 8 18:51:16 2010 -0700 Fix the trailing #endif comment in tests/tap/basic.h Change-Id: I3a7dbda8d2792229365df4266ca43cbb4bc815bf Reviewed-on: http://gerrit.openafs.org/2099 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 74a332e7ee69256c232e4f583f7c10e238cd3ac5 Author: Russ Allbery Date: Tue Jun 8 18:40:11 2010 -0700 Add okv function to the TAP test library Add an okv() varient of the ok() function that takes the arguments as a va_list instead of as a variable argument list. This makes it easier to reuse ok() when writing other tests. Change-Id: Icaeaaf9d6bd9d54bfd886a75961d98367ee0fb9a Reviewed-on: http://gerrit.openafs.org/2098 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 53304359a77442cf3dd3f9f2dc8543a1d16af668 Author: Jeffrey Altman Date: Mon Jun 7 18:18:39 2010 -0400 Windows: Detect if AFSCache is memory mapped to a new address The Windows AFSCache paging file contains pointer addresses that are only valid if the file is memory mapped at a specific memory address. If the file is mapped at a new address, the pointer values will be invalid and the service will crash with an invalid memory access. Check for address consistency and force the cache to be rebuilt if the consistency is lost. LICENSE MIT Change-Id: Ie7fb64659f808f09279445f47c2f1385be0a53f0 Reviewed-on: http://gerrit.openafs.org/2095 Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 8d18d4773a256b5bb567752e7f923b7713107cb0 Author: Andrew Deason Date: Tue Jun 8 10:38:07 2010 -0500 Solaris: lookup "" like "." At least on some versions of solaris, we can get passed an empty string to afs_lookup, if the root directory is in AFS (e.g. after a chroot). Interpret this as the same as looking up the "." entry; otherwise we return ENOENT, implying that the "/" directory does not exist, even if its subdirectories do. FIXES 127356 Change-Id: I84283e78fbf33b946afaf3c80ef4a1a679e8fc93 Reviewed-on: http://gerrit.openafs.org/2096 Tested-by: Andrew Deason Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b89a9e4fa001b453a3ef5f041ac7978ba696b8e3 Author: Andrew Deason Date: Tue May 18 11:39:21 2010 -0500 libafs: consistently hold vnode refs Make all common libafs code call AFS_FAST_HOLD to hold an afs vnode reference, instead of sometimes calling VN_HOLD(AFSTOV(tvc)) directly. Make AFS_FAST_HOLD always call osi_vnhold, and have each platform define osi_vnhold for their platform-specific quirks (as it was doing before). This way, if a platform has an osi_vnhold that is special somehow (on solaris, we bump a VFS refcount if the vnode refcount goes from 0->1), it will always be called on vnode references. Change-Id: I7bb2b5ac116c8e86f6c6c0d40f414523870275a3 Reviewed-on: http://gerrit.openafs.org/1987 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit eee8bc9cf9fa53488abd973249b8b61bc3f61956 Author: Andrew Deason Date: Mon Jun 7 11:42:02 2010 -0500 AIX: make osi_procname a stub 'curproc', 'curthread', or other such conveniences do not exist on AIX, so the current osi_procname implementation breaks the build. Determining the current process name on AIX is, while possible, difficult and error-prone. Since we only need the process name for informational messages to users, don't bother trying to determine it, and just return the empty string so we can build. Change-Id: I452a9786d809c3dee3da519cd3d6ca053f8d7ab8 Reviewed-on: http://gerrit.openafs.org/2094 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 54fbf60cdd62469cff724b445d01c15ba756e3df Author: Andrew Deason Date: Mon Jun 7 12:18:53 2010 -0500 Make lib/afs.exp in sys_depinstall The AIX libafs uses lib/afs.exp to build, and libafs depends on sys_depinstall. So, make lib/afs.exp in addition to include/afs/afs.exp in sys_depinstall. Change-Id: I8788a49cd4a5e7545f0f1f45572cdfb0f014c3db Reviewed-on: http://gerrit.openafs.org/2093 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a4bca7737682d23577c1f50c053438c657e85018 Author: Andrew Deason Date: Mon Jun 7 12:13:11 2010 -0500 AIX: declare code in osi_TryEvictVCache osi_TryEvictVCache was missing 'code's declaration. Declare 'code'. Change-Id: Ife5b9bfaea4d6a88bcbd82b862e26afcee1c149f Reviewed-on: http://gerrit.openafs.org/2092 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 85997ac89fd44e6658291adcd1a064ff77235566 Author: Jeffrey Altman Date: Sat Jun 5 19:34:29 2010 -0400 Windows: remove src/NTMakefile NTMakefile was moved from src to the top level. A second copy in src just gets out of sync. Change-Id: I9474fab56cee46c3acb1758aee62729c1cfadd7b Reviewed-on: http://gerrit.openafs.org/2088 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 24ff8eb0dd64d2fe948899a7273293b0eb79600c Author: Jeffrey Altman Date: Sat Jun 5 19:29:59 2010 -0400 Windows: Cleanup .exp .res .manifest and others Fix the cleanup procedure to work when the tree has not previously been built. Delete .exp, .res, and .manifest files from the $(OBJ) tree. Perform cleanup on all language directories. Change-Id: I2a24c69293066f012cb869fe67dbacb5ffdc2d43 Reviewed-on: http://gerrit.openafs.org/2087 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 380f9a46a3feda44621cfe94d93a9c70d3e9ff7f Author: Jeffrey Altman Date: Thu Jun 3 12:04:15 2010 -0400 Windows: Update fs newcell and add VIOCNEWCELL2 The Windows version of "fs newcell" did not accept any parameters and behaved quite differently from the Unix version. Instead of permitting new cell information to be added, the Windows version simply forced the existing cell information to be reacquired. This update adds a new pioctl, VIOCNEWCELL2, to support the implementation of a Unix-style "fs newcell". The functionality added here differs from the Unix version in the following ways: 1. "fs newcell" with no arguments is still accepted in order to maintain compatibility with prior Windows behavior. 2. "fs newcell -cell -dns" instructs the cache manager to add the new cell but obtain the vldb server info from DNS. 3. "fs newcell -cell ... -registry" instructs the cache manager to add the new cell and also save the cell configuration data in the registry for use the next time the service restarts. 4. The -vlport and -fsport options are accepted although the -fsport value is currently unsupported by the cache manager. LICENSE MIT Change-Id: If62cc8e1c6cc8ba2defb4cd72dae8a87b4d915e0 Reviewed-on: http://gerrit.openafs.org/2080 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman commit 82e999bf847ef88d357d86015a90cedb47eeb8ac Author: Jeffrey Altman Date: Thu Jun 3 11:59:45 2010 -0400 Windows: Freelance Import CellServDB Add a new registry option that permits automatic generation of Freelance mountpoints for every cell listed in the CellServDB info (file and registry). "FreelanceImportCellServDB". This functionality is only triggered when the afsd_service is started. The operation is performed in the background by the daemon thread after the firewall configuration is set. LICENSE MIT Change-Id: Ic6cc0738f8c185d77f9cf69d4997b8044522e50e Reviewed-on: http://gerrit.openafs.org/2079 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman commit 1faf08ccc7704f43cbe57cd54b6458db347bcf91 Author: Jeffrey Altman Date: Fri Jun 4 00:46:39 2010 -0400 Windows: engage path mtu discovery for rx Change-Id: Ice32ca652dfcf1c14577c696eaca074f61a62675 Reviewed-on: http://gerrit.openafs.org/2085 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit ab5b2d2274bcb031ee2d0f8042ab45e15f3c428c Author: Jeffrey Altman Date: Fri Jun 4 00:45:21 2010 -0400 Windows: enable circular buffer management for rx socket input LICENSE BSD Change-Id: Ibbcb6171738b4f6adfb267b5782b53ae7170b0e9 Reviewed-on: http://gerrit.openafs.org/2084 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 7c167febd559de70ec8abd74a34bbc15f44945fd Author: Russ Allbery Date: Sat May 29 16:45:04 2010 -0500 Comprehensive edit of Admin Guide chapter two (first 20%) Update and revise chapter two (Issues in Cell Configuration and Administration) of the Administration Guide for current AFS and current computing concepts. Remove references to an AFS-provided login utility and discuss local login configuration for Kerberos more generically. Further clarify the role of ssh in ensuring the user has access to files in AFS during remote login. Improve the inode and namei discussion slightly. Update the setuid discussion for the new default of disabling setuid for cells and for the known security flaws in enabling setuid. Modernize terminology for DNS around cell naming and remove the descriptions of TLDs. We can now assume our target audience knows this stuff. Move index terms into the appropriate section for what's being indexed in a few more cases. Lots of other, more minor wording changes and updates. Change-Id: Id8b1ace5afca6b8b7b2082a9a0779a4b91c89dcd Reviewed-on: http://gerrit.openafs.org/2065 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 67e837374649d4def8df6371f104c8b2af928e2a Author: Derrick Brashear Date: Tue Jun 1 13:10:32 2010 -0400 rx mtu discovery constrainment code this code makes us work in the face of a sub1500 mtu network. a subsequent commit is needed to make it more effective: attempts to grow the mtu must be scheduled so we aren't forced to heavily brute-force on failure to discover the exact mtu immediately; for performance, we do want to grow to the real mtu. Change-Id: If876c134efd4b0952035193ef00a6e780f7adc64 Reviewed-on: http://gerrit.openafs.org/2069 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 8be3eee95ebd7c387c4745d2abc0f4907df6aaf7 Author: Simona Poilinca Date: Fri Jun 4 00:42:38 2010 -0400 Windows: convert cm_config.c to use strsafe library Replaced the unsafe string functions with the safe versions available in microsoft's strsafe library. Change-Id: Id9e9acf7eaa1b045d91b972b37a411c7a94ed3ac Change-Id: I377fe4e2e5bac904f5dd28916f1244262e1933c2 Reviewed-on: http://gerrit.openafs.org/1778 Reviewed-by: Jeffrey Altman Reviewed-by: Asanka Herath Tested-by: Jeffrey Altman commit dbef3c8b0bd5bab21943071c455b4bf2436507e5 Author: Asanka Herath Date: Thu Jun 3 23:58:42 2010 -0400 Windows: Support building a lite-client installer If LITECLIENT is defined when invoking the WiX based MSI installer build, we will build a light-weight client installer MSI. This minimizes the size of the installer for users who only need client functionality from OpenAFS. The light-weight client excludes: - Server components - Control center components - Administration utilities - Debug symbols Lite-client installer can also be built by invoking target wix-lite from the root NTMakefile. Change-Id: I544cdb7170d17358eb235f3c476c468dbae62776 Reviewed-on: http://gerrit.openafs.org/2034 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 1e0c6d22d7c44aad6aa0a0051e094a3558045dd2 Author: Rainer Toebbicke Date: Wed Jun 2 18:12:36 2010 +0200 "fs checkservers" during cache creation can crash client Many pioctl calls pass as soon as the afs_resourceinit_flag is set, which happens relatively early, alas before the cell name is set. PCheckServers and others need the latter and dereference NULL. Easiest: set the cell name as soon as it is known and the dynroot initialisation piggy-backed to it can be done. Change-Id: I9985f2c4a0afddfed04b85338108b3d6e97b64e6 Reviewed-on: http://gerrit.openafs.org/2072 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a069b18dfbc2e1a4834df9cc7c477d65a05b342c Author: Russ Allbery Date: Wed May 26 13:15:30 2010 -0500 Document in SalvageLog(5) the per-partition salvager logs Document that salvager creates separate logs per partition when doing a full server salvage and then appends them all to SalvageLog when it completes. Change-Id: I2ffa8c79ef83b590f90bb014fc318559deae7113 Reviewed-on: http://gerrit.openafs.org/2035 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit a546f1cd58abcdc129035cf4614c4b55f1e1b1f8 Author: Jeffrey Altman Date: Thu Jun 3 11:54:04 2010 -0400 Windows: Fix usage of cm_FreeServerList cm_FreeServerList will set the input variable to NULL if the contents of the list could in fact be freed. If they could not be freed, the individual entries are marked for deletion and will not be subsequently used. Do not set the list variable to NULL after calling cm_FreeServerList otherwise memory can be leaked. LICENSE MIT Change-Id: Ia3cacd760d7395a2dd6b063643a8aa86f9e468b9 Reviewed-on: http://gerrit.openafs.org/2078 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 64e08dca0bdbb32ec98218a0b0fcd486108af6c1 Author: Jeffrey Altman Date: Thu Jun 3 11:51:17 2010 -0400 Windows: Reduce number of Nat Ping Connections Instruct rx library to only perform NAT pings on file server connections that are actively in use and which are anonymous. LICENSE MIT Change-Id: I6b74e8070f2c522ed13e0c06ea7a304cce525ab9 Reviewed-on: http://gerrit.openafs.org/2077 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit 7e9c978b1c9d47a9da0e7f3b6cb7982596eb4cda Author: Jeffrey Altman Date: Thu Jun 3 11:49:14 2010 -0400 Windows: Fix cm_IoctlSkipQueryOptions buffer management When cm_IoctlSkipQueryOptions advances the input buffer pointer it must also reduce the available input length. LICENSE MIT Change-Id: I4e0d673e3ff5d8621e715d33d73616a22211a8a9 Reviewed-on: http://gerrit.openafs.org/2076 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 51d954a75c4343d1bc06fc784484894dd9bdb398 Author: Jeffrey Altman Date: Thu Jun 3 11:47:46 2010 -0400 Windows: do not request KEY_WRITE privilege if not required When querying the registry cellservdb info the KEY_WRITE privilege is not required, therefore do not request it. LICENSE MIT Change-Id: I050717be3afb5df979897ffbef65987160a65149 Reviewed-on: http://gerrit.openafs.org/2075 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 019174fdda5bb6eb376ea78e20db74c7e1f77fab Author: Jeffrey Altman Date: Thu Jun 3 11:44:33 2010 -0400 Windows: warning removal cast away size_t larger than afs_uint32 warnings use variables with the proper signed vs unsigned state in order to avoid signed vs unsigned comparison warnings disable deprecated string function warnings LICENSE MIT Change-Id: I78a3786a0766979c8d83cc5dbd06f91e70b0ee47 Reviewed-on: http://gerrit.openafs.org/2074 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 3ff85264903aef41e63c5a86674ec66857db69f4 Author: Derrick Brashear Date: Thu Jun 3 15:50:46 2010 -0400 darwin notify don't recurse on vcache lock afs_vop_access->afs_VerifyVCache2->afs_GetVCache->afs_FetchStatus-> afs_Analyze->afs_NotifyUser can recurse and try to notify us. Don't worry about it; we're best-effort. we lack a lock primitive to see if we own this lock. Change-Id: Ibc0c8a8164a95f0d268e5f1f42a62c3a28c4ab9d Reviewed-on: http://gerrit.openafs.org/2081 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a2f3be5265a9e8a7f2cf0dd751a9ab82d289cef8 Author: Andrew Deason Date: Thu Jun 3 09:54:28 2010 -0500 up: refuse multicharacter arguments The 'up' command currently silently accepts and discards extra characters when specifying arguments. This can produce rather confusing behavior such as mistyping '-v -1' as '-v-1' resulting in the '-v' switch being honored, but the '-1' being ignored. The same thing occurs for specifying '-v1', even though the usage message implies that you can combine arguments. So instead, report an error message for any arguments specified that are longer than 2 characters, since they are never valid. Change-Id: I64846b53248ea1d06d03b6ac1fdb4317ba04b03b Reviewed-on: http://gerrit.openafs.org/2073 Tested-by: Andrew Deason Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear commit d263fb1507a8c679fd92b5bd2b6af2f1fb8b3cbf Author: Asanka Herath Date: Wed May 26 12:34:08 2010 -0400 Windows: Fix midl options for generating stub code MIDL is used to generate server stub code for implementing SMB RPC. Fix the invocation of MIDL so that MIDL can locate include files and respect AFSDEV_AUXMIDLFLAGS. Change-Id: I31e90897c8f0d8db6746dbc94a3fe4de53aab060 Reviewed-on: http://gerrit.openafs.org/2033 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 57d7b5ccf0ddda5a7887d7e84211c3e767a407e6 Author: Derrick Brashear Date: Tue Jun 1 12:13:42 2010 -0400 rx allow setpeermtu to take a peer modify setpeermtu to work when a peer is passed in. modify existing callers. note solaris caches a whole host's pmtu, so use that on all peers at the host. Change-Id: Iba05fffd47a7c7b63742d6c539be4fe248336fb7 Reviewed-on: http://gerrit.openafs.org/2068 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ca2bce169e1742e25846ea516e6796de6ac6a282 Author: Derrick Brashear Date: Tue Jun 1 12:08:57 2010 -0400 rx setpeermtu should handle a host correctly right now, when no port is passed, we don't correctly tweak the mtu for all peers on a host. do that here. Change-Id: Ia07f592bf001415d8a76bd3326f2dc6aa0641809 Reviewed-on: http://gerrit.openafs.org/2067 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 24b7d39c5f18ca60067e5ab9c8d9c08e9c695789 Author: Derrick Brashear Date: Tue Jun 1 12:04:43 2010 -0400 aklog no krb524 kill warnings if you're disabling krb524, these variables are unused. make them not be part of such a compile Change-Id: Ib10e8fc82614b7a821daa7c77540ce246551cb0a Reviewed-on: http://gerrit.openafs.org/2066 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit af1dbcf0c9d29d2dfaf87c7f6fe64018927626ad Author: Russ Allbery Date: Thu May 27 16:40:21 2010 -0500 Add warnings for Authentication Server commands For each command only useful with the Authentication Server, add warnings that the Authentication Server is obsolete and will be removed in a future version of OpenAFS. Encourage people who care to update uss to work with a modern Kerberos KDC, recommend kinit and aklog or klog.krb5 over klog, and warn that klog will be of limited use without an Authentication Server. Change-Id: Idc78ba548134b83ac1eea0fb81a5bc38a431bb38 Reviewed-on: http://gerrit.openafs.org/2052 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f05d22c1b9bc21f0baa415444cf4f05aa1de5e0b Author: Derrick Brashear Date: Fri May 28 08:49:37 2010 -0400 prune further list of connections we natping on if it had tokens before, again, still not worth a nat ping. nor for the vlserver. Change-Id: I30281801b604b67b418b8a54a1889c54c8f6e4db Reviewed-on: http://gerrit.openafs.org/2058 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 67f1a94234e122a7dfef9808171285e456af5da8 Author: Rod Widdowson Date: Thu May 20 18:27:11 2010 +0100 Rewrite vldb_check -fix vldb_check -fix was very 'topical' in nature. It showed signs that each sucessive corruption had been treated as a one off needing a specific fix. This made the code difficult to understand and incomplete: for instance a single volume on the wrong hash only was not corrected. Further there was some rather unfortunately code which would under certain circumstances stamp the last volume at various places across the file. This checkin removes all the old code and replaces it with a 'systematic' fix. During the last scan across all the volumes, all four of the hash chains are rebuild from the ground up. We can then get rid of the outer 'Mung Until Now Good' iteration and further we benefit from a linear run time. Tested by building several different forms of broken-ness in all three chains and then fixing it. Now with improved logging and correct non insertion of nonexistant elements and clean compiled with extra warning. Change-Id: Id39d806c9c90f67c6967bd99460ba9842a043158 Reviewed-on: http://gerrit.openafs.org/1991 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 16c4b6e6c06ef2e7cfe77bca0811af9001665805 Author: Rod Widdowson Date: Wed May 19 10:45:57 2010 +0100 Add bounds checking prior to IOs in vldb_check vldb_check would just read where it was sent. This means that if a hash entry was beyond the end of file the read would fail and halt the program dead. This change adds checks for that so we can go limping on. There is no code to fix this sort of corruption. I have another (preexisting) checkin to do that which will happen once I can get a clean test run. This checkin also removes a some pointless debugging printfs. Change-Id: Ib285e113c8db024de41ffaf6c11ceb2979d07041 Reviewed-on: http://gerrit.openafs.org/1990 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 20c2acfb2b2c5e6ab36c14726dce6197202f6d4a Author: Russ Allbery Date: Fri May 28 09:42:24 2010 -0500 Reformat chapter two of the OpenAFS Administration Guide Purely reformatting to make the document more maintainable. There are no content changes. Change-Id: I349c8e86de925cbed6e09be529a22e0a08b227f6 Reviewed-on: http://gerrit.openafs.org/2059 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 2e2494d6dbc3b4584c50b87073a2b7c7a0d13604 Author: Russ Allbery Date: Fri May 28 19:15:52 2010 +0000 Add a sample test program to the new test suite Add a modified version of src/util/test_ktime to the new test suite as an example of how to write a test program with the new harness. Change-Id: Ifbceff1905f9f0dd686c2a2d2edc2f8796e7918f Reviewed-on: http://gerrit.openafs.org/2063 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 194c3f10d4c4d571e5d734baf2dd27331624c084 Author: Russ Allbery Date: Fri May 28 11:35:28 2010 -0500 Import C TAP Harness 1.2 as a testing harness Creates a new top-level tests directory that will be used for all future automated test code eventually. Import runtests and the basic TAP library from C TAP Harness 1.2. Add top-level check and test targets that build the full source tree and then the new tests directory, and then runs runtests on the test list. Change-Id: I896f8ae488cd1dfa8529a10b4b479e45e7c67afe Reviewed-on: http://gerrit.openafs.org/2062 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit f7cb812d07ba854e69ca8d971cd88d93afe6e01e Author: Russ Allbery Date: Fri May 28 11:34:37 2010 -0500 Add src/tests/OpenAFS/Dirpath.sh to .gitignore Change-Id: I027d71ead7c75037bdc070932659c3f7da69dc0a Reviewed-on: http://gerrit.openafs.org/2061 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2db48258392cd24f17d0de2b46fceb9039f59953 Author: Russ Allbery Date: Fri May 28 11:03:50 2010 -0500 Clean up warnings in the tests directory Build repair.o with strict aliasing disabled because it addresses the same data structure via two different structs at the same time. Fix various other, more minor warnings. Several fixes here require more Autoconf glue to work properly, but that's deferred to future work (such as some HAVE_* defines that we don't probe for and the handling of non-native 64-bit integers in some of the code). Change-Id: I721a9fb952d2cf485d2df8e5672e5e5f5d9d6159 Reviewed-on: http://gerrit.openafs.org/2060 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 4d89ce0a89e9b9e2709e6f6d730f245b5bce744b Author: Marc Dionne Date: Fri May 28 17:48:12 2010 -0400 Linux: 2.6.35 - fsync no longer takes a dentry In 2.6.35, the fsync file operations drops the dentry argument. Add a configure test and cope. Change-Id: Iaf660808d52688a4a8fd53a76d8d055602f746b9 Reviewed-on: http://gerrit.openafs.org/2064 Reviewed-by: Derrick Brashear Reviewed-by: Simon Wilkinson Tested-by: Derrick Brashear commit e4596a9d07d99ce17fcf8ae7be6e5e1c2a134e8a Author: Rainer Toebbicke Date: Fri May 28 13:41:41 2010 +0200 Typo made sysctl table invisible AC_CHECK_LINUX_STRUCT for the check for ctl_name in ctl_table instead of AC_CHECK_LINUX_FUNC. Change-Id: Ia0e0de5d62ce7f702a3f1d7a5cd4d19ef726095c Reviewed-on: http://gerrit.openafs.org/2057 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0e9d4bc6f261fc8da2a20d1d236993082f70cecc Author: Derrick Brashear Date: Tue May 18 13:41:38 2010 -0400 viced: kill console use don't open /dev/console in the fileserver. if you want this, let syslog do it. Change-Id: I1d7c0fb4a8582b6c781acdb9ae0764b64dc1c301 Reviewed-on: http://gerrit.openafs.org/1986 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ac971a6c854e466ae412389da04f91298d01f707 Author: Russ Allbery Date: Thu May 27 11:45:06 2010 -0500 Comprehensive edit of chapter one of the Administration Guide Update and revise chapter one (An Overview of OpenAFS Administration) of the Administration Guide for current AFS and current computing concepts. Replace the Kerberos Server terminology with Kerberos KDC and add additional details about the relationship between AFS and a Kerberos KDC. Remove some remaining Authentication Server references. Add some details about the Protection Server management of the mapping from Kerberos principals to AFS IDs. Remove some now-obsolete distinctions and concepts between mainframes and workstations and recommendations for server systems. Reorganize the order in which the servers are discussed to follow a somewhat more natural order. Be clear that the Backup Server is optional and that there are other methods available to back up AFS. Mention backing up to disk as well as tape in a few places. Change-Id: I57ce083a84ca2a44f7a4383d80b05508e6448284 Reviewed-on: http://gerrit.openafs.org/2045 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 760b43baa807a9c84bf2796d9f6c969819098e2c Author: Russ Allbery Date: Thu May 27 09:57:42 2010 -0500 Reformat chapter one of the OpenAFS Administration Guide Purely reformatting to make the document more maintainable. There are no content changes. Change-Id: Ic3fb32ef68c14418b3ac6bab92fda759db89b394 Reviewed-on: http://gerrit.openafs.org/2044 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5f2c6bd341674618d14658d0f642465b0f0259b9 Author: Russ Allbery Date: Wed May 26 23:23:10 2010 -0500 Add k_haspag to libkopenafs Add the k_haspag function to libkopenafs, which returns true if the current process is in a PAG and false otherwise. The implementation currently duplicates code from the ktc_curpag function since the latter calls the regular pioctl() interface and hence introduces an Rx dependency that we're avoiding for libkopenafs. This should be refactored to avoid the code duplication at some point, but that will require building a utility library that can be reasonably linked into libkopenafs and is therefore deferred for future work. Change-Id: Ib97322ef24dc3a4e48cb45090c516c95b71e9fc7 Reviewed-on: http://gerrit.openafs.org/2041 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e29bd1f8d1734c45d244df45202a4b8eb47208c1 Author: Andrew Deason Date: Wed May 19 15:04:45 2010 -0500 libuafs: Add uafs_Init compat function Recent libuafs changes changed the libuafs initialization API. Add a uafs_Init wrapper for compatibility in case someone is using the old way. Change-Id: I30611479e0c281526dc52ac6a1969ae526886537 Reviewed-on: http://gerrit.openafs.org/2047 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3da8b3773f4caa85cf7ef58016a053560b87ca59 Author: Russ Allbery Date: Thu May 27 14:53:57 2010 -0500 Make all the default target in libadmin samples and test Change-Id: Idae0c8a6bf1b057d52c1d385daab5193083b63f6 Reviewed-on: http://gerrit.openafs.org/2051 Tested-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fe8db2a6979b96f5ff622c0fe9d42f6694555419 Author: Russ Allbery Date: Thu May 27 12:33:57 2010 -0500 Clean up warnings in libadmin/bos/afs_bosAdmin.c Use the correct data structures for BOS timestamps. Use afs_int32 for the expressed timestamps for executables since that's what the BOS RPC says it's using for right now; we should change this, but when we do, warnings will catch this use along with the others. Cast some const char *'s that are passed into BOS functions that take char *'s. Change-Id: Iff3a6c42241953ed086f8e739cdb344a41a44635 Reviewed-on: http://gerrit.openafs.org/2050 Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a65d755e5e862b9077439c151dc238fe4ef62725 Author: Russ Allbery Date: Thu May 27 09:41:38 2010 -0500 Clean up the introduction to the Administration Guide Provide a more useful abstract and remove the (outdated) specific list of supported platforms and the M.m version number placeholders. Update the list of associated documents to match their current titles, and provide a better description of the Reference Manual. Reformat the parent document and preface for easier maintenance in the future. Change-Id: I42ce78274ed7c4ca7a2f0b9c5ec2e6f7a786adb8 Reviewed-on: http://gerrit.openafs.org/2043 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit cc071714fad5ab3a1c27782963fbd8d4d63437dc Author: Andrew Deason Date: Sun May 16 19:47:04 2010 -0500 libuafs: Remove afsd symlink in setup Remove the 'afsd' symlink in the build setup, along with the other symlinks. Otherwise, we try to recreate it every time and fail, since it already exists. Change-Id: I8fd70d6c29695f92a5a800bea34630221d142370 Reviewed-on: http://gerrit.openafs.org/2046 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 314ae59401820ab7a2dae10263959ea055bf6bd7 Author: Derrick Brashear Date: Thu May 27 10:58:03 2010 -0400 background daemon don't wipe code before it gets used the bop allocation will clear the bop structure on reuse. don't clear the error code early. Change-Id: Ie32bef854d28a575387e2488f10c302486dfd20b Reviewed-on: http://gerrit.openafs.org/2042 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c0408db079f58b11d9c53c9e67c556cac142bcbf Author: Russ Allbery Date: Wed May 26 16:07:43 2010 -0500 Flesh out NEWS for recent work Add entries to NEWS for all development releases back to 1.5.36, which is the point at which I got bored, taken from the release announcements to openafs-announce. Try to use a relatively readable and consistent formatting for all the entries and convert the old entries to the new format (mostly). Further history can be added from the release announcements when I or someone else gets bored. Change-Id: Iaf9171c82ca74cd98be3745d9c1965efc39d889a Reviewed-on: http://gerrit.openafs.org/2036 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit c679486e554864df4c98feacc6f759cccb0b69fa Author: Russ Allbery Date: Wed May 26 14:45:22 2010 -0700 Update Debian packaging to 1.5.74.1-1 Change-Id: I828f21edffce67eaba6cfdd76e66e754a58e52a0 Reviewed-on: http://gerrit.openafs.org/2037 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0d66561a0b21572676ee1729a6e925d2f491ab6f Author: Russ Allbery Date: Wed May 26 22:04:48 2010 -0500 Fix compilation of the imported config_file.c parser Include additional missing header files for proper function prototypes, define TRUE and FALSE, and declare krb5_clear_error_message as unused so that the config_file.c will compile and pass --enable-checking. Make the build depend on krb5_locl.h. Change-Id: I25a35098aa81c9d2a0efea48257dcb958602c785 Reviewed-on: http://gerrit.openafs.org/2040 Tested-by: Russ Allbery Reviewed-by: Marc Dionne Tested-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 19dee933a0ca1d824edb697e43f29628cce06f55 Author: Marc Dionne Date: Wed May 26 17:50:43 2010 -0400 scout.c: only declare width once The width variable was declared twice, for the whole function and also within the for loop, leaving the first one unused and triggering a warning and a failed build with enable-checking. Change-Id: Idd061aa0e9eff1f158bfdbd67a20fe5876570089 Reviewed-on: http://gerrit.openafs.org/2039 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit dc8f18d6f5003712bc9ef989363137a84953df07 Author: Andrew Deason Date: Wed Mar 31 11:40:42 2010 -0500 Protect ubik cache accesses Currently, ubik application cached data could be updated and read by different threads simultaneously. Add a mechanism in ubik for protecting accessing and updating the cached data. This adds the function ubik_CheckCache to do this, and removes ubik_CacheUpdate as an exported function (since it's not safe). Update all callers to use the new mechanism. In ptserver, remove the 'initd' variable; just rely on cachedVersion and ubik_CheckCache to tell us when to re-read the database. Remove db.lock in buserver and cheader_lock in kaserver, which served similar (though not completely threadsafe) protection as ubik_CheckCache. Add the ubik database lock cache_lock to protect the application cache. Change-Id: I857a67d410e2c539197c5212c3b114c3fd0403c2 Reviewed-on: http://gerrit.openafs.org/1546 Reviewed-by: Derrick Brashear Tested-by: Russ Allbery commit 5698becffffb49ff49f69ce202032ae0bd9e9f7a Author: Russ Allbery Date: Wed May 26 16:47:49 2010 -0500 Fix syntax error when supergroups are not enabled 1f22cab broke non-supergroups builds due to incorrect brace placement. Move the correct closing brace outside of the #ifdef. Change-Id: I2ed3f8f57b35f0030e26306f7e791ea6b5158c9a Reviewed-on: http://gerrit.openafs.org/2038 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 916699ed412f865a80106ed4968fd2ede12d16f4 Author: Asanka Herath Date: Wed May 26 12:31:39 2010 -0400 Add /dest and /obj to .gitignore These are build directories used on Windows. Change-Id: I20c37ae4ada78949c3a09d618476286f64f9b682 Reviewed-on: http://gerrit.openafs.org/2032 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman Reviewed-by: Russ Allbery commit 5f70221b2c9eb08afbbb6e0c43f6c0276cebbcf3 Author: Russ Allbery Date: Wed May 26 12:20:57 2010 -0500 Remove references to IBM AFS Change references to the documentation sets that we still ship to reference the OpenAFS manuals instead of the IBM AFS manuals. Remove references to the IBM AFS/DFS Migration documentation, since that doesn't appear to be available anywhere any more, replacing them where relevant to more generic references to the DFS documentation. Add links to docs.openafs.org for mentions of the manuals in SEE ALSO, and standardize on one link format. Replace a few references to the IBM AFS Release Notes with the actual information in those notes, or drop the reference if it doesn't seem particularly useful. Change-Id: Ie9666842f1315891c6a9c37c0424200f4b78bff7 Reviewed-on: http://gerrit.openafs.org/2031 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit deca334a5c9773f1b873b6260353c5c6cbab0af7 Author: Derrick Brashear Date: Thu May 20 11:27:10 2010 -0400 avoid nat ping for authenticated connections this is a cheap way to ensure one nat ping per server. basically, only do it for the one unauth connection we have. Change-Id: I4583112d7b4a10a0e8f524795527d99a5b2adf51 Reviewed-on: http://gerrit.openafs.org/2010 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9f9ffb7822bf85fc24d29b63c09c124b1e9875af Author: Russ Allbery Date: Wed May 26 11:33:29 2010 -0500 Remove references to AFS Product Support in -oktozap salvager and salvageserver's documentation of -oktozap says to not use without consultation with AFS Development or Product Support, left over from the IBM product. Remove those references and add a caution more in line with open source. Change-Id: I136dc145caf3e8e3a992c239e1a46d86f96580ed Reviewed-on: http://gerrit.openafs.org/2030 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit 1f22cab96abd1ec83ea5c0d9c3fc1a405385b8ea Author: Russ Allbery Date: Wed May 26 11:28:57 2010 -0500 Remove -rebuildDB flag to ptserver The -rebuildDB flag was documented to rebuild the Protection Database at startup, but it was accepted and ignored in the ptserver source, doing nothing. Remove the documentation and the option recognition in ptserver. Change-Id: I36f30f38464b602cb4739a958663a6feb5fe27bf Reviewed-on: http://gerrit.openafs.org/2029 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 46192481ec162c68491c43635c16047d1b03ecf5 Author: Russ Allbery Date: Wed May 26 11:25:39 2010 -0500 Remove documentation of kaserver -fastKeys -fastKeys wasn't accepted by the kaserver binary, but was still mentioned in the usage message and the kaserver man page. Remove the remnants of the flag. Change-Id: Ifb3ae49ea0cab80c325a77b0eb1062944697b53d Reviewed-on: http://gerrit.openafs.org/2028 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c3f85a084b5b07d4c289cecda92d319e9d94cb7f Author: Simon Wilkinson Date: Tue Apr 27 22:53:47 2010 +0100 Add an OpenAFS config file parser This adds a Kerberos INI style config file parser to OpenAFS, using the parser contained in Heimdal as a base. Currently, it only exports a very small number of functions, but exporting further functions is simply a matter of adding additional shims to hide the Kerberos context and other specifics. Note that we don't want to just use the parser as a library because firstly, we don't want OpenAFS to have a Kerberos dependency (as other crypto mechanisms will, and do, exist). Secondly, MIT and Heimdal use a different API here, so we would have to shim anyway. Also, our own parser means that we don't need to worry about passing in the krb5 context, and all of the issues that that presents. Change-Id: Ic0a5ddf03266c454827c6505d5f6ffefcddd2614 Reviewed-on: http://gerrit.openafs.org/1935 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 55945926f99affdbe3461fa9a1aff751c5ad3c03 Author: Michael Meffie Date: Wed May 19 12:37:35 2010 -0400 scout: adjustable column widths Adds new command line option to scout so users can set the number of characters to display without truncating. Change-Id: I69f159549d7f5b4cfee26c276ad34705f504ee2b Reviewed-on: http://gerrit.openafs.org/1951 Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 54b3fbe775077c4c4f832a14fae2d046de97fd9a Author: Derrick Brashear Date: Tue May 25 18:21:32 2010 -0400 dumpstuff nbytes can't exceed 32 bits the read returns a 32 bit type; we can't possibly need to write 64 bits. (ssize_t is 32 bits on macos and so this ends up being a bad shift) Change-Id: I4d8f99b0c752a2c75ce65b9cfa1b3cb0d484cc7f Reviewed-on: http://gerrit.openafs.org/2024 Reviewed-by: Russ Allbery Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0875e29832d496532720812f6ece54813a7a893d Author: Russ Allbery Date: Tue May 25 14:37:05 2010 -0500 Synchronize LICENSE files We have two LICENSE files, which had been somewhat independently modified. Resynchronize them, remove trailing whitespace, and convert from ISO 8859-1 to UTF-8. Change-Id: Ia3dba0e328e7f026362e2e8efda206c34ce4e768 Reviewed-on: http://gerrit.openafs.org/2025 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c8261c63f9e804b62172b48d676d5be03620de2a Author: matt@linuxbox.com Date: Mon May 24 20:26:46 2010 -0400 windows handle NONODE case uniformly in cm_BPlusDirDeleteEntry Fix handling of a NONODE case in cm_BPlusDirDeleteEntry. Previously in this case, the routine referenced uninitialized memory. Change-Id: Ic3e3520b4c28ccc52e04486777bdcf0c5e54ef1f Change-Id: Id57a72112caf55b4b84ed64f709b8b73c72b7866 Reviewed-on: http://gerrit.openafs.org/2017 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit f7bca6eefdacf2adb6e60bc3eb04fb5b05dae277 Author: Heimdal Developers Date: Sun May 9 19:33:54 2010 +0100 Import of code from heimdal This commit updates the code imported from the external heimdal git repository to their revision 64651b4be5be1eaacd4388c428cb936cb8be34b5 which is described as switch-from-svn-to-git-1210-g64651b4 This commit imports the Heimdal configuration file parser. Change-Id: I9e061c439f9aabd4f09c876811bd1033d3f25f22 Reviewed-on: http://gerrit.openafs.org/1934 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit b7eb19f81d83400ae05749c2fd244476e53d2bf3 Author: Derrick Brashear Date: Tue May 25 00:03:16 2010 -0400 fs getserverprefs needs a larger buffer it's very easy for the size of server preferences to be too large for the default buffer. cope. Change-Id: I0535edf784eb9e9a309dc17e571719e204b9d29b Reviewed-on: http://gerrit.openafs.org/2021 Reviewed-by: Russ Allbery Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit e917fc5c474e11e47b656295d73514ca9ec45626 Author: Simon Wilkinson Date: Sun May 16 22:48:52 2010 +0100 Autoconf : Kill dead code Remove unused autoconf macros - they're not being called, and so have bitrotted, and are just cluttering up the tree. Change-Id: Ib2d1fc5121b6845cf0b500e5aef8ca822be58ad3 Reviewed-on: http://gerrit.openafs.org/1971 Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 5219a6b33b8ea7a793d5b0797026abd7b187f85e Author: Simon Wilkinson Date: Thu May 20 11:57:20 2010 +0100 Linux: Disable syscall probes if we have keyrings If we are building for are kernel with keyrings, and we can guarantee that we can make use of those keyrings, then we no longer need to probe for the syscall table at all. Change our default behaviour so that when these two conditions are true, syscall probing is disabled. Both --enable-linux-syscall-probing and --disable-linux-syscall-probing can be used to override the autodetection and force things one way or the other. We have to check that we can use the keyrings because there was a window in the 2.6 kernel series where keryings were available, but the key_type_keyring definiton (which we use to create the session keyring) wasn't exported. In that situation, we attempt to traverse the process table and use the type of init's session keyring. This traversal is fragile, and if it fails, keyring PAGs will be disabled. So, we still want to be able to fall back to patching the syscall table, if we can, in this case. FIXES 125215 Change-Id: I11ba5c68fe37609bbd6b9c9f7e7c699334f42ebc Reviewed-on: http://gerrit.openafs.org/2002 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Reviewed-by: Russ Allbery Tested-by: Russ Allbery commit 13dba17d5a845475e8c68ae00c4b77fee12d48c6 Author: Andrew Deason Date: Thu May 6 15:40:36 2010 -0500 vol, volser, and viced type fixes Correct many uses of incorrect types for file offsets, sizes, etc. in the volume server, fileserver, and the volume package. Thanks to Tom Keiser who pointed out the incorrect types and suggested solutions. Change-Id: If4aedfe0cc06d05b3775069ae1285d4c330976cd Reviewed-on: http://gerrit.openafs.org/1920 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Russ Allbery commit 8a869e0ef99a10f5f26d4f65a96fba5a6440ce93 Author: Russ Allbery Date: Mon May 24 22:21:29 2010 -0500 Add libafs_tree to .gitignore Change-Id: Iff4a22319be1659f123a3a8b62c27a39d957bc29 Reviewed-on: http://gerrit.openafs.org/2020 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f924010fbcdcf7e8800165cdcdc4acfedc7225b6 Author: Russ Allbery Date: Mon May 24 22:03:49 2010 -0500 Fix libafs_tree's cross-architecture support The results of libafs_tree are supposed to build on any platform that shares the same basic kernel code, but this had broken in two ways: libafs_tree was including a pre-built afs/param.h, which needs to be regenerated on different architectures, and the Linux kernel build makefile was being pre-generated despite having some architecture-specific options. Copy over more of src/config and postpone generation of afs/param.h and generation of libafs/Makefile to the libafs build. Remove the substitution of AFS_SYSNAME from make_libafs_tree.pl; it was unused and now definitely shouldn't be used since it will break the architecture-independence of the resulting tree. Change-Id: I2730d3745cc67cf5f3ae61cf4643842f87865a80 Reviewed-on: http://gerrit.openafs.org/2019 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8aa5328bd539f88d4e090959e5bd95a19992bcff Author: Russ Allbery Date: Mon May 24 21:34:53 2010 -0500 Postmoderize use of AC_CHECK_TYPE Use AC_TYPE_SSIZE_T to handle the ssize_t check (introduced in Autconf 2.60). Use AC_CHECK_TYPE, not AC_CHECK_TYPES, to check for sig_atomic_t and socklen_t, and define them in afsconfig.h if they're not present on this platform. Do not define them in stds.h, since stds.h is an installed header file and cannot rely on Autoconf defines. Change-Id: I80e1a00efc84420002a95d6cafc25ea70befa49d Reviewed-on: http://gerrit.openafs.org/2018 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 48d3ec164bf76708c10d817e7601105cc2798153 Author: Russ Allbery Date: Mon May 24 14:28:01 2010 -0500 Update fs {get,set}serverprefs documentation for DNS Mention in the fs getserverprefs and fs setserverprefs documentation that VL servers may also come from DNS AFSDB and SRV records. Document that SRV record information is not (yet) properly used. Change-Id: I223efedf4d00ac1b57b3dce74a807790691abdbf Reviewed-on: http://gerrit.openafs.org/2015 Tested-by: Russ Allbery Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 6916146b466676bc95df000ca4c367ea7c971133 Author: Derrick Brashear Date: Tue Apr 27 13:16:20 2010 -0400 report server address when known for afs warnings if we have the server info, give an address with the error. we could probably give the program name too, as for flock warning, but... Change-Id: I508572357c8c7027003900156dbb1a09ace04731 Reviewed-on: http://gerrit.openafs.org/1851 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2f0998ff13fe55e74011bd32317697274f807cc5 Author: Derrick Brashear Date: Mon May 24 16:12:24 2010 -0400 getcapabilities avoid panic when cell is not filled for a new server, getcapabilities is not safe, as cell may not be filled. Change-Id: I0926034c1d9e9c8c08e7ca993de1bcef9c0de8cf Reviewed-on: http://gerrit.openafs.org/2016 Reviewed-by: Russ Allbery Reviewed-by: Simon Wilkinson Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dd7b9235e677f92d928f0db40afaab9a1c3ee580 Author: Rod Widdowson Date: Tue May 18 14:48:38 2010 +0100 Read volume at correct address when looking for broken forward links. vldb_check was reading a volume at the index rather than the file offset to read the volume. This was giving rise to phantom warnings since the hash was usually 0. The possibility of a broken flink is determined in another manner which is why in normal case we are not flooded with warnings. At the same time make the error message slightly more coherent. Change-Id: I35f237772819f6418eb9f8d77e0902bca28c4134 Reviewed-on: http://gerrit.openafs.org/1983 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3313e7499642c39b0be1574102b8cdf6bfa565b5 Author: Simon Wilkinson Date: Sat May 22 09:40:05 2010 +0100 Autoconf: Tidy up resolver retrans retry test There's no need for the retrans retry test to be a TRY_RUN test, TRY_COMPILE will pick up the existence of the '_res' structure and its elements. Also, clean up the use of the cache variable to set the result. In the old implementation a true test result would print '1', not 'yes', a false result would result in bad output in the config.log, and a cross compiling output would give #define HAVE_RES_RETRANSRETRY no which will give unexpected results with #ifdef tests. Change-Id: If78c1b01ee89242c67f87238ca502ce43718c6a2 Reviewed-on: http://gerrit.openafs.org/2014 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit ffb6cbfc1ee41ac83a27c094d82bd1c68ef4861c Author: matt@linuxbox.com Date: Sat May 22 19:40:03 2010 -0400 windows map lstat to _stat (mrafsStyleLogs) Provides function macros mapping lstat to _stat, in Windows param files (i386, amd64, i64). change per jaltman Change-Id: I414422f26114fc270dff0b5915765bf3906a400e Reviewed-on: http://gerrit.openafs.org/2013 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3015ef6c594fa999c29e390a76c384eed09619d4 Author: Russ Allbery Date: Sun May 9 17:58:33 2010 -0700 Update bos addkey/listkeys and KeyFile man pages for asetkey Clearly prefer asetkey to bos addkey in the KeyFile, bos addkey, and bos listkeys man pages. Reference asetkey list and asetkey delete as alternatives to bos listkeys and bos removekey. Distinguish between Authentication Server cells and Kerberos v5 cells and mention the preferred afs/ principal format. Add some cautions around matching enctypes and salts when synchronizing keys with a v5 KDC. Update man-pages/README for completion of this task, clean up some other wording, and remove some other now-irrelevant information. Change-Id: I29b83a61cbdb08de508bdb313524a307e385044b Reviewed-on: http://gerrit.openafs.org/1938 Reviewed-by: Jeffrey Altman Reviewed-by: Andrew Deason Tested-by: Russ Allbery Reviewed-by: Russ Allbery commit 5ae464b185115e3537bbef862d893190bb56ab05 Author: Ben Kaduk Date: Fri May 21 21:39:16 2010 -0400 Do not lie about needing Giant Catch up to 2005. Giant has not been needed for vnode page operations for quite some time now. Change-Id: I59c7b4fb1f7cd4133d459d801db9bb6d9cef866f Reviewed-on: http://gerrit.openafs.org/2012 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit adb901ac887043747360c4c9bb3fc51523f8c56e Author: Marc Dionne Date: Wed May 19 16:49:07 2010 -0400 Linux: remove unused label The out label is no longer used and triggers a warning. So just remove it. Change-Id: Ic701b82fcd4f93ddf3673dbc16618201314f6fb3 Reviewed-on: http://gerrit.openafs.org/2000 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit a48a6c2a62e3511ec5652295ffee61122c1d6cbf Author: Simon Wilkinson Date: Wed Feb 24 21:39:10 2010 +0000 More warnings cleanup Remove uneccessary warning inhibition in vol/ Update README.WARNINGS to match the current state of the tree Change-Id: Ic1e5c74e0e7c2ccce0519b1572034f3666aa75e9 Reviewed-on: http://gerrit.openafs.org/1392 Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit bf2e4dd23e751540666c0c7961e47d4b5d06667b Author: Simon Wilkinson Date: Wed May 19 18:11:58 2010 +0100 Linux: Use positional r/w, not llseek The Linux read/write file operations take a position. Use this position to determine where we're reading or writing in a file, rather than using the vfs_llseek() operator to set the file position argument. This avoids a potential race condition, as well as simplifying this code. Change-Id: I82b4a109f9871fa2ce5b308bc32923b1bf910920 Reviewed-on: http://gerrit.openafs.org/1993 Reviewed-by: Andrew Deason Reviewed-by: Marc Dionne Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3d686e41948cce63c95b1f2f69011019dad42607 Author: Derrick Brashear Date: Wed May 19 10:57:31 2010 -0400 dafs: don't restart for new binaries using mrafs scanner time if binary restart times are enabled, dafs restarts every time due to a flawed comparison. fix it. Change-Id: I7eff4eb6406dc7eef12c75491191566a906a4adf Reviewed-on: http://gerrit.openafs.org/1992 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit e57c3b7bf6723016308497bd9377eb2de9ab6c14 Author: Simon Wilkinson Date: Thu Apr 29 19:06:37 2010 +0100 Unix CM: Use macros for process name and id access This patch uses the new osi_procname() macro to obtain the process name for setpag() warnings on BSD and Darwin, and osi_curproc() to obtain the process identity, simplifying the code. Change-Id: I1f8a4d4bbcdb09eaeea3712b1fffd1aaa3cd2fa7 Reviewed-on: http://gerrit.openafs.org/1878 Reviewed-by: Derrick Brashear Reviewed-by: Matt Benjamin Tested-by: Derrick Brashear commit 4dab5984b7a221ef4e0b871411f58f6f33116547 Author: Derrick Brashear Date: Tue May 18 10:42:28 2010 -0400 mrafs logs don't clobber existing logs if a restart happens too quickly, we can wipe existing log files in mrafs log mode. cheat. assume we won't have too many sub-second starts. Change-Id: I86d652410d0f18609d305decff54f122e2b87f10 Reviewed-on: http://gerrit.openafs.org/1984 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 42a280f50daf6e4dc65873150c4738aacf2c3a86 Author: Ben Kaduk Date: Wed May 19 01:44:44 2010 -0400 Do not sleep in FBSD's getevent() Calling osi_AllocSmallSpace drops the glock, which allows a race condition that caused a rather fast deadlock on multiprocessor systems. Use afs_osi_Alloc_NoSleep instead. Change-Id: I9a328567a31fe0e4f77e7548fed31b7e4ff36f50 Reviewed-on: http://gerrit.openafs.org/1989 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c433f3d8eeb81d5c5091d104e53bf48a6d25e747 Author: matt@linuxbox.com Date: Mon May 17 21:28:56 2010 -0400 linux PageCheck may be PageFsMisc Define the PageCheck family of functions using PageFsMisc equivalents if those are found. I encountered a need for this on Centos 5.5 (2.6.18-8.el5xen), but it may be more general. Change-Id: I365a769614fd7514e0c0223bf1854cce09f759f7 Reviewed-on: http://gerrit.openafs.org/1982 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 41dd0be8e30dc4edf7e3c087736dc41d625cecc5 Author: Derrick Brashear Date: Tue May 18 13:06:44 2010 -0400 darwin afs.conf: growlagent example provide an example usage of the growl agent Change-Id: Ic680008784a85d877049dee429d8f77f5ce8f5f7 Reviewed-on: http://gerrit.openafs.org/1985 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit d0abe56aa47d4561ba57527d53a2b0db2ea613c2 Author: matt@linuxbox.com Date: Sun May 16 19:58:39 2010 -0400 linux include osi_compat.h in rx/LINUX/rx_knet.c Does include osi_compat.h in rx/LINUX/rx_knet.c Change-Id: I0d8c0a6931c7594c424edeb03000695a7cb50ba0 Reviewed-on: http://gerrit.openafs.org/1981 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5ea24a7c5534b4fda7904284d21d34b6e52a3f27 Author: Simon Wilkinson Date: Mon May 17 20:15:46 2010 +0100 Fileserver: Don't sync every 10 seconds The patch which moved our calls to fsync into the background, added a sync prior to each batch of fsync calls. This is an incredibly bad idea. POSIX says that sync "shall cause all information in memory that updates file systems to be scheduled for writing out to all file systems". On Linux this means that we in effect perform an fsync() on every open filehandle on the entire system, and in addition flush all superblocks and journals out to disk. This makes the following fsync() calls superfluous - sync() will have already written out all of the data. Add to this the fact that the fileserver is doing this every 10 seconds, and this becomes a major performance bottleneck, particularly if the machine uses a journalled fs - as any disk operations will end up blocking whilst the journal is written to disk. Change-Id: Id06cb99ae83af2e4a82e7b20fb14b8457dc16883 Reviewed-on: http://gerrit.openafs.org/1977 Reviewed-by: Andrew Deason Reviewed-by: Rainer Toebbicke Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 54bf41004b901ca090d63e239768588fa90bc806 Author: Jeffrey Altman Date: Mon May 17 16:01:03 2010 -0400 rx: work harder to notice and handle MorePackets request in particular, we did badly at handling kernel requests for more packets, but other cases did not properly keep packet stats either. attempt to globally better handle demand for more packets. Change-Id: I88837fed880f582444221ec53d280ca4070b607d Reviewed-on: http://gerrit.openafs.org/1978 Tested-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman Reviewed-by: Hartmut Reuter Reviewed-by: Derrick Brashear commit af6b80f25726dbafc8bf3b2aaf15309e7f3d41fa Author: Simon Wilkinson Date: Mon May 17 08:40:49 2010 +0100 Autoconf: Use AC_CACHE_CHECK AC_CACHE_CHECK has been available since Autoconf 2.5 (released in 1995), and provides a simpler mecahnism for performing cached checks than AC_CACHE_VAL does. Modify all of our simple AC_CACHE_VAL calls to use AC_CACHE_CHECK. Change-Id: I490f5e6ae5a3fdc1ada88aba9cd22c89d415a376 Reviewed-on: http://gerrit.openafs.org/1974 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 249e3f9c21ffc280892fdd0e006e3e3a2a1e0300 Author: Derrick Brashear Date: Sat May 15 09:30:57 2010 -0400 afsprefs: clarify restart requirement don't make the red text make it seem like a restart is always needed Change-Id: I9c533ac4e25f623ad62183a42ff279c1d77fd5fe Reviewed-on: http://gerrit.openafs.org/1961 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 644162ae3de315adbf6d9e3cd4d647f87174cb42 Author: Rod Widdowson Date: Wed May 12 15:48:25 2010 +0100 Clean up logging from vldb_check. vldb_check used to say "%: Volume '' not found in hash " for two sorts of failures - If the volume really wasn't in a hash chain of that type at all - If volume's next pointer (for the hash type) pointed to a volume with a different hash. In both cases it would then print out some confusing (and spurious) information about the next element in the chain, prior to applying the same fix (of zeroing the next pointer). This change fixes the error message. Change-Id: I5eb6ae1a461628d401b997dde4bab53a0cc7571d Reviewed-on: http://gerrit.openafs.org/1955 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 01d08c0ce879487226d78f423588b27b18d888f7 Author: Rod Widdowson Date: Sat May 15 16:25:26 2010 +0100 Stop overanxious htonl in vldb_check -fix vldb_check -fix is corrupting the server entries (Number, Partition, Flags). This is because it is doing a htonl on what is a char field. The read code already has a comment "make sure not to ntohl these, as they're chars, not ints". This change strips the corresponding htonl from writeheader (and puts in a similar comment). Change-Id: I5902be0f1e928521bfcb5ec66edd227c08ea2bdc Reviewed-on: http://gerrit.openafs.org/1964 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 2736eb7b090bcec9756c55f312cc97a4521f8b02 Author: Simon Wilkinson Date: Sun Apr 25 20:36:06 2010 +0100 Demand Attach: Volumes and vnodes are different fssync-debug attempts to copy sizeof(Volume) bytes into an object defined as a Vnode, a sure fire way to make things go boom. gcc on Snow Leopard picks this up as a buffer overflow, and warns about it. Fix the problem by only copying sizeof(Vnode) bytes. Change-Id: Iadcda0b465f9a9f310dcbe4d3862ea479e052674 Reviewed-on: http://gerrit.openafs.org/1834 Reviewed-by: Tom Keiser Reviewed-by: Alistair Ferguson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 6fd1db1a86e830b3758772a79f25c30080c4dd06 Author: Simon Wilkinson Date: Sun Apr 25 20:23:27 2010 +0100 Demand Attach: Simplify __VVGC_entry_cl_add The __VVGC_entry_cl_add was giving an uninitialised variable warning for empty_idx, because it was using a separate variable, empty_found as a sentinel for when empty_idx was holding a real value. Simplify all of this by removing the sentinel, and making empty_idx being -1 mean 'not found', and a real value imply found. Change-Id: I6c485993df1ff8dfd27824234c811af998ff94fa Reviewed-on: http://gerrit.openafs.org/1833 Reviewed-by: Tom Keiser Reviewed-by: Alistair Ferguson Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 44da0b32ee192017a080e26037e4f4b18e90717c Author: Simon Wilkinson Date: Sun Apr 25 20:14:02 2010 +0100 Demand-Attach: Remove dangerous trailing else Change 9aa09f5e634db8a8b2dedf3a749f2a90ef206e2f introduced a dangerous trailing else into the VScheduleSalvage_r function: #ifdef A if (foo) { ... } else #endif #ifdef B if (bar) { ... } #endif something_else() In a situation where we have A && !B, then something_else() ends up only being run when foo is false. Given that something_else() is VOL_LOCK, this will not end well. In the real world, we hit this problen when we build the volume package with SALVSYNC_BUILD_CLIENT and !FSYNC_BUILD_CLIENT - in other words, whilst building the fileserver. Change-Id: I97e07a6e730df8ac480d295b4cf30b0695ace511 Reviewed-on: http://gerrit.openafs.org/1832 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit cea3bf909ab4b0807ef9f7d93235b4daeb1290dc Author: Ben Kaduk Date: Mon May 17 00:22:32 2010 -0400 Enable PutVCache for FBSD80 and higher Matt's patches in a123bd8ccd brought in support for FBSD 7.0, but also disabled several calls to afs_PutVCache() for FBSD80 and higher. Matt says that that patch was focused on 7.0, so the 8.0-related bits may not be relevant. I have run with the PutVCache calls enabled, and if anything, my system seems more stable with them. Change-Id: I8d906848e977d4974e4dcdc151964bb2ac3116b6 Reviewed-on: http://gerrit.openafs.org/1969 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit ed2f4f8d3d92761d38b1ebfba8187e5e02745be1 Author: Ben Kaduk Date: Sun May 16 00:43:35 2010 -0400 Kill FBSD4X with fire We haven't even pretended to work on the 4.X series for quite some time, and keeping this code around just makes things (slightly) harder to read. AFS_FBSD_ENV is now equivalent to AFS_FBSD50_ENV (though the latter should not be used). Leave the fbsd_4 sysnames in afs_sysnames.h for archival purposes. Change-Id: Ibebda92967ca26c3dd4bf0b2cc6a66ae3a94d0ff Reviewed-on: http://gerrit.openafs.org/1968 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear commit 0b3e411bfcd1ffc719c41a3f62137f75b17a09ab Author: Simon Wilkinson Date: Sun May 16 23:14:11 2010 +0100 Autoconf: Use AC_CHECK_MEMBERS AC_CHECK_MEMBERS has been available since autoconf 2.50, which was released in 2001. Use this, rather than rolling our own mechanism to check for structure membership. Change-Id: Ic63bfdd6c448ce3cf2ed13d8f1f36d02e18bd223 Reviewed-on: http://gerrit.openafs.org/1973 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit aa7273233d39be552897d2180426820a3755deed Author: Simon Wilkinson Date: Sun May 16 22:56:13 2010 +0100 Autoconf: Use a standard test for socklen_t Use the standard AC_CHECK_TYPES mechanism to check for the existence of socklen_t, and to typedef it as an int if it's not found, rather than growing our own. Change-Id: Ib5aeb600750558167f63833dd4a7480dbe312b8a Reviewed-on: http://gerrit.openafs.org/1972 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0f36d82e896b7f3783ef11ec4196e5009aee162a Author: Ben Kaduk Date: Sat May 15 17:11:15 2010 -0400 Do not try to increase the refcount of a NULL vnode osi_lookup is not guaranteed to give us a valid vnode, so check before calling VN_HOLD(). Change-Id: I3d2a4d441f6991c08beccb6b10a428f5746db146 Reviewed-on: http://gerrit.openafs.org/1967 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit c0afd1419de3fb8cab44ac212d0a85a9998c7cba Author: Andrew Deason Date: Sat May 15 23:12:33 2010 -0500 Solaris: do not call VFS_RELE with GLOCK VFS_RELE can call afs_freevfs, which grabs GLOCK. Thus, don't call VFS_RELE with GLOCK held or we can try to recursively acquire GLOCK and panic. This is currently unlikely to occur (sans vfs refcount unbalances) without support for forced unmounts, since the last vfs ref will usually come from the caller of afs_unmount(). But it still may be possible. Change-Id: I152bd13abc2e90f258f98194833c50c3a2846904 Reviewed-on: http://gerrit.openafs.org/1966 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 7e32fbea90821d5321352cb86b18533fb34f0409 Author: Hartmut Reuter Date: Fri May 14 13:25:44 2010 +0200 Don't use afs_linux_storeProc with memory cache, it only works with disk cache. Change-Id: I54585c61c66af7160d0ddbcbc1251fa42fbf44d8 Reviewed-on: http://gerrit.openafs.org/1958 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9562721b89a2a7a7f32a165762d7fba8540006a9 Author: Andrew Deason Date: Wed May 12 13:59:06 2010 -0500 Solaris: stop NetIfPoller on shutdown The NetIfPoller code that is enabled on AFS_SUN510_ENV never gets shutdown properly. The current code looks as if it was intended for NetIfPoller to recognize the appropriate termState and just return, but we never wait for it, and so we can complete the shutdown sequence without NetIfPoller ever knowing that we are shutting down. This can cause the machine to panic, as we keep attempting to run NetIfPoller even after libafs has been unloaded. Since NetIfPoller is fired by default every 30 seconds, we probably do not want to wait for it to fire during shutdown. Instead, just destroy the necessary timeout and task queue, which will wait for NetIfPoller to complete if running, and will just prevent it from running in the future otherwise. Change-Id: I25f9536d2713baf524a2450400c428ac506525f1 Reviewed-on: http://gerrit.openafs.org/1957 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear commit 7730769ccfebd2a268503b6e618609722cc3b4a5 Author: Jeffrey Altman Date: Wed May 12 11:27:17 2010 -0400 Windows: move afsconfig.h / param.h to afscred.h move the inclusion of afsconfig.h and param.h to afscred.h so that they are included everywhere and so that the conditional use of _USE_32BIT_TIME_T is applied consistently by afscred.h. LICENSE MIT Change-Id: Id8c595509ec381ff6df6186e4d1c809413782a59 Reviewed-on: http://gerrit.openafs.org/1956 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 135042cd8c1beee7c045ce3b0b86272bf85a5464 Author: Jeffrey Altman Date: Wed May 12 10:25:01 2010 -0400 Windows: netidmgr_plugin must include afsconfig.h In order to properly use afs headers afsconfig.h must be included first in afsfuncs.c. Update the makefile to specify the correct include paths. Since this results in the afs assert.h being used, we must include the lib file that includes the AssertionFailed function. LICENSE MIT Change-Id: I46f76410ea16eeffeb8406ef4e89120a3255366a Reviewed-on: http://gerrit.openafs.org/1954 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 54f66f3722a6ddc0c35f5ab509c317f7278c0373 Author: Jeffrey Altman Date: Wed May 12 10:24:03 2010 -0400 Fix missing semicolon in non-AFS_NAMEI_ENV builds vol/nuke.c Change-Id: Ibfd37180199aecf6f79fbc84e2f035678e826d17 Reviewed-on: http://gerrit.openafs.org/1953 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 96868e5cda94ba3a11a8cbf3df98e7032198b239 Author: Jeffrey Altman Date: Wed May 12 10:22:07 2010 -0400 Windows: fix consistency of afsconfig-windows.h Windows is a AFS_NAMEI_ENV platform Windows (as of WDK 6) defines socklen_t as signed int Change-Id: I0aa549309d19c745e4df50d510c19f3174b1f2eb Reviewed-on: http://gerrit.openafs.org/1952 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 0dd5159163e464e35ccc73eb79225ea9fc0cd872 Author: Derrick Brashear Date: Fri May 7 10:32:09 2010 -0400 inlinebulk analyze errors afs_Analyze was not being called on inlinebulk errors if the error potentially required a retry. do so. Change-Id: I60fc0a7553f9ce592c40c7aecb60346e138468f0 Reviewed-on: http://gerrit.openafs.org/1926 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 34b0fef60a555de11590631fce1e92454457fc72 Author: Jeffrey Altman Date: Sat May 8 21:38:05 2010 -0400 Rx: prevent rx_rpc_stats mutex from being a global bottleneck Prior to this patchset, the 'rx_rpc_stats' mutex was superior to both the 'peer->peer_lock' and the 'rx_peerHashTable_lock'. That meant that the 'rx_rpc_stats' was being held across many operations that walk the peer hash table. For example, rxi_ReapConnections, rx_disablePeerRPCStats, and rx_shutdown. Since every RPC issues a call to rx_IncrementTimeAndCount, the reap connections event would effectively bring all RPC processing to a halt. This patchset moves 'rx_rpc_stats' later in the hierarchy and restructures rxi_ReapConnections, rx_disablePeerRPCStats, and rx_shutdown so that not only doesn't the 'rx_rpc_stats' mutex need to be held across the entire function but the 'rx_peerHashTable_lock' does not need to be held while complex operations on the peer object are taking place. rxi_ReceiveDebugPacket is also fixed to hold the rx_peerHashTable_lock and peer_lock at appropriate times while completing its function. Change-Id: I1a11798f1bb2a8f03316c6c455954bd6b8d1459b Reviewed-on: http://gerrit.openafs.org/1928 Tested-by: Jeffrey Altman Reviewed-by: Dan Hyde Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit f793bc07e12b86561bc05eab9eb37dda55d792f5 Author: Jeffrey Altman Date: Wed May 12 00:58:30 2010 -0400 Windows: Add support for NetWkstaGetInfo levels 101 and 102 On Windows 7, NetWkstaGetInfo levels 101 and 102 are queried. Add support to the WKSSVC RPC Pipe service. LICENSE MIT Change-Id: Ia780ee69834c01c2d0c2965ae2c65f80d504a923 Reviewed-on: http://gerrit.openafs.org/1950 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit 953a2049a9a451a1f4015a64f8c5153044beba13 Author: Jeffrey Altman Date: Mon May 10 09:07:50 2010 -0400 Windows: Prevent overflow during percent used calc in Explorer Shell Ext In the Volume Info and Partition Info dialog boxes, percent used was overflowing the variable due to using too small a variable and multiplying before dividing. FIXES 126846 Change-Id: I9a8a9275d22675cfb53c9e520758f2c4d6606954 Reviewed-on: http://gerrit.openafs.org/1939 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 63ed515374bb0f7fea9436a7346382d65c6efa6f Author: Jeffrey Altman Date: Sun May 9 10:50:07 2010 -0400 Windows: Freelance vs ACLs If the user attempts to list acls or set acls on the freelance root.afs volume, generate a meaningful error. Change-Id: I6e5b147bf0cdd98ec0224a723098f5bbcb37b1e1 Reviewed-on: http://gerrit.openafs.org/1931 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit ed0fa83863308653381896cccddb0fc931a02dde Author: Jeffrey Altman Date: Sun May 9 20:49:05 2010 -0400 Windows: use system CreateUuid instead of afs variant The afs_create_uuid function on Windows results in duplicate uuids being produced. Windows provides its own CreateUuid function. Use it when afs_create_uuid is called. Change-Id: Id7f14b13c003fb845d90b09c3ca40cf258a53dbc Reviewed-on: http://gerrit.openafs.org/1937 Tested-by: Jeffrey Altman Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman commit afaecee40f4ae07bdf6c1419e70bdecbd5aa9526 Author: Jeffrey Altman Date: Sun May 9 10:15:30 2010 -0400 Make afsio be useful on Windows and fix bugs On Windows, the stdin and stdout handles default to text mode which corrupts data piped through them. At the start of readFile and writeFile, the mode is now set to binary. The ProbeUuid callback is supposed to determine if this client is the same as the one being requested. Since we are advertising a new uuid in TellMeAboutYourself and WhoAmI, we should perform the uuid check and return a valid answer in order to avoid confusing the file server. Add support for TellMeAboutYourself. On Windows, return valid interface information. Always print verbose output to stderr. Display MB/sec to three decimal places. In readFile, always perform a AFSFetchStatus operation otherwise we have no idea what the file size is. On Windows, the path separator is backslash. Change-Id: I174eda991383301d01fe5d6431d459b6ea01a0be Reviewed-on: http://gerrit.openafs.org/1930 Tested-by: Jeffrey Altman Tested-by: Hartmut Reuter Reviewed-by: Jeffrey Altman commit 6d48026f86794ecf4dba70cc3f8f5ebd685c5255 Author: Jeffrey Altman Date: Thu May 6 17:12:48 2010 -0400 Windows: RXAFS_InlineBulkStat errors must be processed via cm_Analyze RXAFS_InlineBulkStatus does not return errors such as EACCES, VNOVOL, VNOVNODE, VOFFLINE, VBUSY, VIO, VMOVED, etc. as an RPC return code. Instead they are returned in the status info errorCode field for each file. Traditionally, the error associated with the first FID in the query list has been returned to the caller of cm_TryBulkStatRPC(). However, the error has never been processed through cm_Analyze() which means that the per-vnode processing for VNOVNODE and the volume global processing for VMOVED, VNOVOL, etc. has never been performed. As a result, failover to other .readonly volume instances cannot occur, volume moves will not be handled, and files that have been deleted are not detected. This patchset makes the following changes: 1. If an inline bulk operation has been performed and the inline errorCode is a volume global error, then that error replaces the RPC return code within the cm_Analyze() processing for the RPC. This will affect whether or not a retry operation is performed. 2. The variable 'inlinebulk' is reset to 0 at the top of the cm_Analyze() loop in case failover from an inlinebulk capable file to an inlinebulk incapable file server takes place. 3. The FID that is passed into cm_Analyze() is not a real fid. Instead it consists of the cell and volume but vnode = 0. This ensures that the error (if any) is not applied to the directory object. 4. If an inline bulk operation was performed, prior to performing the cm_MergeStatus() operation a vnode a check is made to determine if an error was returned for that vnode. If so, cm_Analyze() is called with no connection, a fake cm_req_t, the fid, and the error. This permits cm_Analyze() processing to be performed on the file. LICENSE MIT Change-Id: I91b10faae085b52ba753b3942215951e2122b937 Reviewed-on: http://gerrit.openafs.org/1918 Tested-by: Jeffrey Altman Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman commit dea064a5090dfdc0011dd4254f7d801b4b77cf9e Author: Michael Meffie Date: Tue May 11 15:54:53 2010 -0400 Linux: missing configure test Add the kmem_cache_create test for dtor to the configure to build again on older versions of linux. Fixes, osi_vfsops.c:264: error: too few arguments to function ‘kmem_cache_create’ Change-Id: I1c1aa63e8dbe2df6c9b889edaa66708d7db01847 Reviewed-on: http://gerrit.openafs.org/1948 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7237efdabc75049a70af4bb079dd7b2dd439dd17 Author: Simon Wilkinson Date: Thu May 6 22:22:50 2010 +0100 Remove intptr.m4 We now require an autoconf version of at least 2.60. This version supplies AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T, so we no longer need to have our own. Change-Id: I362324d1cfb39efb01c3f6f2d95eb7f4ed041998 Reviewed-on: http://gerrit.openafs.org/1919 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 88d13f1f58546460201aded9335acb411bc49d1a Author: Derrick Brashear Date: Tue May 11 11:40:09 2010 -0400 vnode alloc bitnumber returns bitnumber fix function return types to match a bitnumber (int) and comment the function appropriately Change-Id: I9542c02b1aa7aacdd0596675992bb1e8a1708572 Reviewed-on: http://gerrit.openafs.org/1941 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 134b599c3ad475685dd0a7251d192e38966fef4c Author: Andrew Deason Date: Wed May 5 13:51:23 2010 -0500 vlserver: prevent duplicate IPs via ChangeAddr Add a safety check in VL_ChangeAddr/ChangeIPAddr to check if we are adding a duplicate server IP in the database. Return VL_MULTIPADDR when we try to do that. Change-Id: Iaff2792b90f4152dac5a1ab4c1072ef56fef518b Reviewed-on: http://gerrit.openafs.org/1927 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit f2ac483c2bdb018c4f225d2781f15b7926d5063b Author: Jeffrey Altman Date: Sun May 9 20:46:11 2010 -0400 Windows: define HAVE_SSIZE_T The windows param.*.h files define the ssize_t type. Therefore, we must define HAVE_SSIZE_T in order to avoid a collision with the ssize_t typedef in afs/stds.h. Change-Id: Ie34cb565f09acfffe985476d24dbca917b05c5db Reviewed-on: http://gerrit.openafs.org/1936 Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 8aa46c5a66bfb18c4ef8452ad7d124af556a7813 Author: Simon Wilkinson Date: Sun May 9 19:40:58 2010 +0100 Add a list of files to import from Heimdal Add an initial list of files to import into OpenAFS from Heimdal. Currently this is just the list that are required to support our new configuration file parser. Change-Id: I785bacc603121f587378fcfbe93e585290c8ab7f Reviewed-on: http://gerrit.openafs.org/1933 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 43f4e3a51248683aeff77da94410a95baba3d83e Author: Simon Wilkinson Date: Sun May 9 19:37:52 2010 +0100 Add a tool to import external repositories This commit adds a tool to aid with the importing of external git repositories. import-external-git.pl allows a developer to easily update the src/external portion of the tree to the latest release of externally developed software. It's currently intended to support our use of Heimdal functions, but could be extended to support any project whose code we wish to use in the kernel, and which has a git repo. Change-Id: I6d91474c5de67e57fb73ff4d59c5afe9bb14c240 Reviewed-on: http://gerrit.openafs.org/1932 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 13ebb6412b4603be50de30789ba048bef485171b Author: Jeffrey Altman Date: Sat May 8 22:41:39 2010 -0400 Windows: fs.c requires size_t len not int len Missed one case of an 'int len' being passed into StringCbLength. Also, remove one instance of 'int len' that was not used at all. LICENSE MIT Change-Id: I457d4ae98adf9d4ca0c1b7dcb74470d9bbc85a54 Reviewed-on: http://gerrit.openafs.org/1929 Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman commit fd9ab5cb7c7346ad443072767a360d902578e87b Author: Russ Allbery Date: Thu May 6 12:30:23 2010 -0700 Include common param file for Linux alpha builds The sysname for Linux Alpha is alpha_linux_26 (or 24 or 22) with an extra underscore before the version, unlike all the other Linux sysnames. Allow for that case when deciding whether to include the common Linux param header. Change-Id: Icab3a9214d0bd020b846734cce27da6c1bdeab56 Reviewed-on: http://gerrit.openafs.org/1915 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit b811e4f91e756643dc2c7da7179ba63e2e0f5803 Author: Ben Kaduk Date: Fri May 7 00:47:53 2010 -0400 Define osi_procname for FBSD The kernel linker doesn't like to load modules with unresolved (implicitly-defined) symbols (understandably). Make it happy. Change-Id: I23fdbb9c9e07a0c583580f5c5eee577a04fae278 Reviewed-on: http://gerrit.openafs.org/1925 Reviewed-by: Simon Wilkinson Reviewed-by: sanket Reviewed-by: Derrick Brashear Tested-by: Benjamin Kaduk commit 7ba5c7263d60230f54a3229d1ffd89a3c76b416d Author: Ben Kaduk Date: Thu May 6 23:31:26 2010 -0400 Actually fix build for FBSD80 after vcache refactoring One more s/tvc/avc/ Change-Id: Ie99310bb08da5bf7aaee022e9c0ca43d1a33c3db Reviewed-on: http://gerrit.openafs.org/1923 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit de68cdef9ef647bfa59aa6f330c5202afce1d100 Author: Ben Kaduk Date: Sun Apr 4 19:34:24 2010 -0400 Add entries for FBSD 8.1 and 9.0 Though neither have been released, yet, RELENG_8 and HEAD are starting to get changes that we need to conditionalize on. Change-Id: Ia3af3c38abe4d0d01e0cef974771b45a97d3d9aa Reviewed-on: http://gerrit.openafs.org/1691 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 07098dc6708472cf5624b368d63efbdef7d409b8 Author: Simon Wilkinson Date: Thu May 6 15:00:00 2010 +0100 Modernise use of AC_CHECK_TYPE Prior to autoconf 2.13, AC_CHECK_TYPE took two arguments, the type to check and the a default type to use if that type wasn't defined. This usage has been deprecated since 2.13, and the AC_CHECK_TYPE macro itself now behaves differently. Whilst there is a compatibility mode, the autoconf documentation discourages its use. We also have an occurence of a slightly more modern AC_CHECK_TYPE, where we explicitly #define a default value if one isn't provided. The autoconf manual also discourages this form, however, in favour of using AC_CHECK_TYPES, and placing suitable typedefs in an external header file. Modify our code so we do things in the recommended way. Change-Id: Ie28067f2c90e9a3aa25cfde45ef081da2d380ee1 Reviewed-on: http://gerrit.openafs.org/1914 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 972a4072827fb2ec680354d5adebc2c5cca06939 Author: Simon Wilkinson Date: Thu May 6 14:58:52 2010 +0100 Always include afsconfig.h in autogenerated files Modify rxgen and compile_et so that the files they output always contain afsconfig.h before afs/param.h. This avoids problems where afs/param.h, or headers included from it, rely on having the results of configure tests available. Change-Id: I0198500a17abd31ee1057d6780cbe5a5e1bc8c59 Reviewed-on: http://gerrit.openafs.org/1913 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit dc9bef83b0fa416bd1bd5a1524aa4a697873b91a Author: Antoine Verheijen Date: Thu May 6 09:10:38 2010 -0600 OpenBSD: Use osi_obsd_Free() for all releases of OBSD Use osi_obsd_Free() in afs_osi_Free() for all releases of OpenBSD, not just releases from 4.4 onward. Otherwise, afs_osi_Free() will use AFS_KFREE, which does not exist, since OBSD/osi_machdep.h is not included, resulting in unresolved symbols when trying to load the kernel module. Change-Id: Ic9632c9df347cc17e122b6302ef14e63fa5b68b4 Reviewed-on: http://gerrit.openafs.org/1910 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8fe309e6b67297e7d59bc001af62e0847cabce78 Author: Antoine Verheijen Date: Thu May 6 09:09:19 2010 -0600 OpenBSD: Use FREE instead of KFREE In OpenBSD releases prior to 4.2, use the system (kernel-specific) FREE macro to release space in the kernel module, not KFREE. The latter does not exist and results in unresolved symbols when trying to load the kernel module. (This was undoubtedly a typo.) Change-Id: Id66704ab4d0928e2ce1234de16bb74fe22f4f9c7 Reviewed-on: http://gerrit.openafs.org/1909 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8e27248698766e3d97e18363c5c4729a4e02add7 Author: Simon Wilkinson Date: Thu May 6 14:55:59 2010 +0100 Always include afsconfig.h Our coding standards say that OpenAFS source files should always have #include #include at the start of the file. Including just param.h, or having these includes in a different order can produce unexpected effects, because param.h includes sysnames.h, which in turn includes stds.h, which may rely upon having the results of configure tests available. Fix the obvious places in the Unix build which get this wrong. Change-Id: I081f04dab30a6bbb49fe71d3ac2d7c11e231e2f5 Reviewed-on: http://gerrit.openafs.org/1912 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 3e449fcceed35200fa76ed586b6ab8cf60a8ec0f Author: Marc Dionne Date: Wed May 5 18:15:05 2010 -0400 Fix typo: LockType -> lockType Fix simple typo that causes a build error. Change-Id: I85f2899850383746094b7e9bab81dea13c2caeab Reviewed-on: http://gerrit.openafs.org/1908 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 8b6550a09026e299dbaa48356aca02d1d5b1803c Author: Derrick Brashear Date: Sun May 2 19:06:43 2010 -0400 fcntl write lock on readonly file error fix apparently we return EROFS where we should return EBADF. Fix the error the client gets; the RPC is unchanged (and indeed shouldn't be changed) Change-Id: I738f1ee36f39d03bf018c0f91c7de9c8ed8cc9a9 Reviewed-on: http://gerrit.openafs.org/1895 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5c192d15ac611cd44b0f3f65796a5b10b7246c56 Author: Derrick Brashear Date: Wed May 5 15:50:07 2010 -0400 afsdump scan kill warnings make prototypes for all initialize error table functions appear Change-Id: Icc72f5218a2f6e0444a325c7fc9a0c1c34843344 Reviewed-on: http://gerrit.openafs.org/1907 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 98d20e250d9043c11e4644e574b5a60e9534a4f4 Author: Derrick Brashear Date: Tue May 4 11:39:19 2010 -0400 freebsd vcache splitting fallout fix the vcache splitting to work again Change-Id: I8833fc6655dcb79329835664d38f5330645b45f8 Reviewed-on: http://gerrit.openafs.org/1904 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 1e69ec9cfef0bc571d1b91432354f486d49480b5 Author: tharidufernando Date: Sat Apr 10 09:01:16 2010 +0530 Windows: Secure C String usage in src\WINNT\afsd\fs.c The use of strlen, strcat, strcpy, strncpy and sprintf in src\WINNT\afsd\fs.c does not effectively protect against buffer overruns and string truncation errors. This patchset replaces their use with StringCbLen, StringCbCat, StringCbCopy, StringCbCopyN, StringCbCopyEx and StringCbPrintf respectively from strsafe.h. The functions sscanf, fscanf and scanf do not check for the size of the parameters so it is prone to buffer overruns. These functions can be replaced by sscanf_s, fscanf_s, scanf_s when the Visual Studio compiler version is 1400 or greater. Also memcpy will be replaced by memcpy_s which will check for the size of the destination buffer. In all cases, failure conditions are handled. Patchset development was mentored by Asanka Herath and Jeffrey Altman. Change-Id: I01e9dfc616641c220b57d2871e3e140406df3653 Reviewed-on: http://gerrit.openafs.org/1736 Tested-by: Jeffrey Altman Reviewed-by: Tharidu Fernando Tested-by: Tharidu Fernando Reviewed-by: Jeffrey Altman commit fb50f2478c0402eb3062208e173ebe33d00ac9c4 Author: Jonathan A. Kollasch Date: Sat Apr 10 10:55:17 2010 -0500 NetBSD 5.0 support. Change-Id: I5b9c5b8204ef729d9719f195ddbaf83c5f9cb4b5 Reviewed-on: http://gerrit.openafs.org/1738 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 7084e5ff7df7ed5ad15f60bae262fc844248ae28 Author: Andrew Deason Date: Mon May 3 14:57:28 2010 -0500 Solaris: shutdown in freevfs, not unmount Call the afs shutdown sequence (afs_shutdown()) in the VFS_FREEVFS handler, instead of in the VFS_UNMOUNT handler. This way we shutdown when the last reference to our vfs goes away, instead of when we are unmounted. That doesn't make much of a difference right now, but doing so will be required for supporting forced unmounts. Change-Id: I4158865b139d05e2955e4809b93628df27b83922 Reviewed-on: http://gerrit.openafs.org/1899 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit fc8ab5cfd6592f9a9df24706a8f5dcc1e41f2b33 Author: Andrew Deason Date: Thu Apr 29 17:47:15 2010 -0500 Solaris: prevent AFS umount while busy Return EBUSY from unmount if someone still references stuff in AFS. This prevents kernel panics that can occur on shutdown if we umount while there is a file in AFS open. Normally a process can hold a file in AFS open, AFS is unmounted, and the file is closed, triggering our code which explodes if called after we're unmounted. This adds VFS_HOLD/VFS_RELE calls whenever we 'create' a vcache, or retire an old one, to keep track if anyone has an open reference to us. Change-Id: I95d8cf7e7e4d32a05bee97e06832a530b40af217 Reviewed-on: http://gerrit.openafs.org/1880 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 34b7fd4a4989fe5d0484e00ae9582d2f29d98d9c Author: Andrew Deason Date: Thu Apr 29 16:00:26 2010 -0500 Solaris: return ENOTSUP for force-unmounts We don't support forced unmounts yet, so indicate as such. Change-Id: I3a130a4a8d31eeffd012352f656c2b4e42b46f27 Reviewed-on: http://gerrit.openafs.org/1879 Reviewed-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 9be76c0d312e9d4ba879d2f82a7c556bf8025da7 Author: Simon Wilkinson Date: Sat Nov 7 00:16:28 2009 +0000 Refactor afs_NewVCache afs_NewVCache was a twisty turny maze of #ifdefs and duplicated code. This makes a number of sweeping changes to simplify this code, and to move platform specific elements out into their own directories. *) ShakeLooseVCaches is refactored so that the same code can be used both for platforms that support dynamic vcaches, and those which don't. *) afs_NewVCache, ShakeLooseVCaches, and afs_AllocVCache are all modified to remove platform specific code, and to call platform specific functions. *) A new platform file 'osi_vcache.c' is created to hold a number of platform specific vcache operations: *) osi_TryEvictVCache handles the decision of whether a vcache can be evicted or not, and does so if required *) osi_NewVnode allocates a new vnode *) osi_PrePopulateVCache does the necessary population of the vcache, before it's threaded onto the VLRUQ and associated hash tables. *) osi_AttachVnode handles attaching an OS vnode to our vcache, where that is necessary *) osi_PostPopulateVCache handles the vcache population that must occur after we're on the VLRUQ and have a vnode attached. Change-Id: I368e5fb500d012b44141aa8f8cf0516e63e58f57 Reviewed-on: http://gerrit.openafs.org/1881 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5e09bcd936f60a9b3f6547299ab2baf98111bba6 Author: Michael Meffie Date: Mon May 3 15:51:40 2010 -0400 pts mem -expandgroups and -supergroups examples Examples of the pts mem -expandgroups and -supergroups options for the man page. Change-Id: Idea0509797212397eff87aa5975eaf5364c8414c Reviewed-on: http://gerrit.openafs.org/1896 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 5e24220c3d500c971e876e6805e3e46b91bad2e6 Author: Antoine Verheijen Date: Mon May 3 15:04:20 2010 -0600 OpenBSD: Fix bug in setpag() when group list is empty In OpenBSD, the PAG uses the 2nd and 3rd group slots in the task's group list. If an application sets en empty group list (such as Samba does), any existing PAG is lost and any new one is NOT set because the existing code will set the new group count to 2 instead of 3, and it leaves the first group entry as garbage (whatever random value the memory contained), thereby totally messing up the task's group list. This patch fixes it so that it behaves as expected. Change-Id: Ia718d55cbaad8ed372fba926dbfcb5db52ea684a Reviewed-on: http://gerrit.openafs.org/1898 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 0ec2239b730bc9b1f8f819ef398d24bb7f1dff4e Author: Antoine Verheijen Date: Mon May 3 14:32:13 2010 -0600 Fix pattern to detect i386-based OpenBSD system type When the pattern to detect OpenBSD system types (via MKAFS_OSTYPE) was split into two separate ones for amd64 and i386 architectures, the pattern for i386-based systems was not set quite right. As a result, i386-based OpenBSD systems are no longer detected properly at this stage, resulting in an error of "cannot find input file: src/libafs/MakefileProto..in" during configure. This patch corrects the pattern. Change-Id: I67079af74117fa3cdc765f19944e23223709ae6b Reviewed-on: http://gerrit.openafs.org/1897 Reviewed-by: Simon Wilkinson Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear commit 98d9d6cf83904d1422a96bb0646f560646d62114 Author: Asanka Herath Date: Tue Apr 20 15:06:41 2010 -0400 Windows: Show configuration pages for all types of MSI installations The OpenAFS MSI installer wizard used to not show any configuration pages for "Typical" and "Complete" installations. Setting the workstation cell and logon options during installation required selecting the "Custom" option. Many users choose the "Typical" option during installation, and thus would never see the configuration pages. Therefore, for these users, the workstation cell was being set to the default. This patch makes the workstation cell and logon option configuration pages visible to all types of installations (except silent installations which show no UI). Change-Id: Ie3bc040607a8d6b636c884bfcb919d0fc69b0e06 Reviewed-on: http://gerrit.openafs.org/1797 Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman Reviewed-by: Jeffrey Altman commit 49c4200a9e313d775a90cc3b6c3b79b18e8e0367 Author: Tom Keiser Date: Thu Mar 11 10:38:31 2010 -0600 Provide a queue_NodeInit() interface Provide a queue_NodeInit() interface for the rx queue package. Change-Id: I85f6caf3605b9a88113ff4d904012ed2aa12a679 Reviewed-on: http://gerrit.openafs.org/1860 Reviewed-by: Tom Keiser Reviewed-by: