]> git.michaelhowe.org Git - packages/o/openafs.git/log
packages/o/openafs.git
18 years agoDEVEL15-windows-afsd-headers-20070627
Jeffrey Altman [Thu, 28 Jun 2007 01:34:26 +0000 (01:34 +0000)]
DEVEL15-windows-afsd-headers-20070627

remove unneeded headers and shuffle order where necessary

(cherry picked from commit 9ca8794ed4561e977df075a636869f308ef1f778)

18 years agoDEVEL15-windows-smb-race-20070627
Jeffrey Altman [Thu, 28 Jun 2007 01:16:44 +0000 (01:16 +0000)]
DEVEL15-windows-smb-race-20070627

avoid a race condition when the smb_fidp is closed and an active request
is being performed on the referenced cm_scache_t.

(cherry picked from commit 7ecca7a58a5cd64c78ee20c712dfe8f419992678)

18 years agoDEVEL15-amd64-linux-24-syscall-probe-symbol-change-20070623
Kevin Hildebrand [Wed, 27 Jun 2007 22:23:07 +0000 (22:23 +0000)]
DEVEL15-amd64-linux-24-syscall-probe-symbol-change-20070623

FIXES 63763

probe for something else for 2.4 and older

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

(cherry picked from commit d9875469022d2aa91dff595dc97f37466852bfbc)

18 years agoDEVEL15-forceallnewconns-prototype-20070627
Derrick Brashear [Wed, 27 Jun 2007 17:30:46 +0000 (17:30 +0000)]
DEVEL15-forceallnewconns-prototype-20070627

missed this earlier. linux wants it.

(cherry picked from commit 6e2737190a46c9043ceb2bd7285471f00273a995)

18 years agoDEVEL15-macos-afsd-dont-leak-symbol-20070626
Derrick Brashear [Tue, 26 Jun 2007 20:13:37 +0000 (20:13 +0000)]
DEVEL15-macos-afsd-dont-leak-symbol-20070626

avoid leaking a ref to this symbol outside macos code

(cherry picked from commit 17c7ab74613309d1af0b664a81796975ac6f698d)

18 years agoDEVEL15-backup-usedump-20070625
Jeffrey Altman [Tue, 26 Jun 2007 06:42:05 +0000 (06:42 +0000)]
DEVEL15-backup-usedump-20070625

FIXES 55704

afs_com_err not com_err

(cherry picked from commit 470be46a4c6231ebf422b9fa9d9c47baa4342824)

18 years agoDEVEL15-aix53-avoid-wait-crash-20070625
Tom Keiser [Mon, 25 Jun 2007 21:24:10 +0000 (21:24 +0000)]
DEVEL15-aix53-avoid-wait-crash-20070625

avoid crashing because of unpinned mmemory when doing event handling

(cherry picked from commit 5e5bfa6b9401ebc1fa5446e208cf46c15943c411)

18 years agoDEVEL15-windows-get-server-list-20070625
Jeffrey Altman [Mon, 25 Jun 2007 05:59:40 +0000 (05:59 +0000)]
DEVEL15-windows-get-server-list-20070625

return an error when the cm_fid_t * is NULL since we can't look up
the volume to obtain a server list without knowing which volume we
should be looking up

if the fidp is known to be NULL, don't call cm_GetServerList()

(cherry picked from commit 3eb7be5c5e63fbf5cbd978c29f155f3e0de856bb)

18 years agoDEVEL15-memcache-alloc-failures-20070623
Chas Williams [Sat, 23 Jun 2007 16:29:36 +0000 (16:29 +0000)]
DEVEL15-memcache-alloc-failures-20070623

FIXES 55339

deal with alloc failures in memcache

(cherry picked from commit 99a61e9762373f0b2b6352fe108bb42cf59f6340)

18 years agoDEVEL15-backup-usedump-20070623
Garry Zacheiss [Sat, 23 Jun 2007 16:14:53 +0000 (16:14 +0000)]
DEVEL15-backup-usedump-20070623

FIXES 55704

restore from specific dump id

(cherry picked from commit a2cd5f5ec0cf20cca2f4a568f23759eda42e1fcc)

18 years agoDEVEL15-image-fix-20070623
Derrick Brashear [Sat, 23 Jun 2007 15:21:51 +0000 (15:21 +0000)]
DEVEL15-image-fix-20070623

(cherry picked from commit 8e180b6303d37cf4e45d52b67089fa9405e6aa22)

18 years agoDEVEL15-doc-add-missing-gifs-20070623
Derrick Brashear [Sat, 23 Jun 2007 15:05:16 +0000 (15:05 +0000)]
DEVEL15-doc-add-missing-gifs-20070623

FIXES 1826

(cherry picked from commit fe61d4e3a1e9419983a7a3e59ba0d196000edddd)

18 years agoDEVEL15-linux-sysctl-update-20070612
Simon Wilkinson [Sat, 23 Jun 2007 07:33:18 +0000 (07:33 +0000)]
DEVEL15-linux-sysctl-update-20070612

FIXES 61906

2.6.21.1 introduces an additional .parent pointer in the middle of
the structure. As the OpenAFS code just initialises the structure
with a list, this causes it to assign the value intended
for .proc_handler to .parent

(cherry picked from commit a6294ee79a9dc18fad219262b6be69535c0398a9)

18 years agoDEVEL15-newuuid-fix-20070622
Derrick Brashear [Sat, 23 Jun 2007 07:23:12 +0000 (07:23 +0000)]
DEVEL15-newuuid-fix-20070622

yeah, i should commit from places with better network if i'm going to need to edit in place, so i can see what i'm typing

(cherry picked from commit ec223f850b654365d13a7f8ae483c883d35413ab)

18 years agoDEVEL15-windows-install-wix-20070622
Asanka Herath [Fri, 22 Jun 2007 23:23:02 +0000 (23:23 +0000)]
DEVEL15-windows-install-wix-20070622

add the images from relnotes_files to the distribution.

(cherry picked from commit 31dfee00018d447dceccdb71c9927e84087639c8)

18 years agoDEVEL15-windows-cell-hashtables-20070622
Jeffrey Altman [Fri, 22 Jun 2007 23:16:39 +0000 (23:16 +0000)]
DEVEL15-windows-cell-hashtables-20070622

Add name and ID hash tables for cell lookups.  cell lookups occur on
every request.  sometimes multiple times.  removing the walking of the
cell list when there are dozens of cells decreases cpu utilization and
increases throughput.

(cherry picked from commit ccfba9c7b806bdbd60f31010618e99eb48d2ddb6)

18 years agoDEVEL15-windows-install-nsis-20070622
Jeffrey Altman [Fri, 22 Jun 2007 15:43:15 +0000 (15:43 +0000)]
DEVEL15-windows-install-nsis-20070622

add missing jpg files to documentation installation

(cherry picked from commit 8fb02b0a0c4f16a9c3de2c6c5494a7b32c3914fd)

18 years agoDEVEL15-windows-release-notes-20070622
Jeffrey Altman [Fri, 22 Jun 2007 15:40:12 +0000 (15:40 +0000)]
DEVEL15-windows-release-notes-20070622

release notes for what should be 1.5.21.

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

another fix for index.htm.  point at relnotes_frames.htm instead of frames.htm

18 years agoDEVEL15-windows-misc-20070622
Jeffrey Altman [Fri, 22 Jun 2007 15:12:39 +0000 (15:12 +0000)]
DEVEL15-windows-misc-20070622

there were two sets of registry values that could be used to configure
the daemon thread check intervals.  keep the one that was documented
in the release notes and discard the other.

Add a registry value "daemonCheckOfflineVolInterval" to configure the
offline volume check interval.

Ensure that the cm_GetConn... functions initialized the output variables
to NULL on error.

(cherry picked from commit 43a27633c64f1bcb371fd35a52dc58586d81a5ba)

18 years agoDEVEL15-windows-notes-20070622
Jeffrey Altman [Fri, 22 Jun 2007 13:45:22 +0000 (13:45 +0000)]
DEVEL15-windows-notes-20070622

more pre-1.5.21 notes

18 years agoDEVEL15-windows-fake-stat-20070622
Jeffrey Altman [Fri, 22 Jun 2007 07:01:18 +0000 (07:01 +0000)]
DEVEL15-windows-fake-stat-20070622

When we are faking the status data we can use the vnode value to determine
if the object should be treated as a directory or file.  even is a directory
and odd is a file.  This works even when we have never successfully
obtained status data for the object.

(cherry picked from commit afa909e66ca66db50b71434ad0396d9b5a7af936)

18 years agoDEVEL15-windows-mountpoint-is-directory-20070622
Jeffrey Altman [Fri, 22 Jun 2007 06:32:10 +0000 (06:32 +0000)]
DEVEL15-windows-mountpoint-is-directory-20070622

when the CIFS client requests a directory listing without directories,
do not include mount points.

(cherry picked from commit 2675d25f6955351e963ff58abfcf2ea6aefd946a)

18 years agoDEVEL15-windows-revoke-callback-20070619
Jeffrey Altman [Tue, 19 Jun 2007 21:12:06 +0000 (21:12 +0000)]
DEVEL15-windows-revoke-callback-20070619

If the we can match up the host address from which the revoke was received
with one of our cm_server_t objects, then we know which cell the revoke
has been received from.  With that information we can ensure that we only
revoke the status of cm_scache_t objects belonging to that cell.

(cherry picked from commit d7d8de3041da75e8dbfef27a153660086370780c)

18 years agoDEVEL15-windows-all-cell-list-20070619
Jeffrey Altman [Tue, 19 Jun 2007 19:31:10 +0000 (19:31 +0000)]
DEVEL15-windows-all-cell-list-20070619

Reverse the order of the allCellsp list.  Append new cells onto the end
of the list.  This ensures that the workstation cell will always be the
first in the list.  Adding additional cells will not degrade the performance
to the workstation cell.

(cherry picked from commit adb83635bbb0c2ed7f549a78e2d9a56baa16b273)

18 years agoDEVEL15-windows-updatecell-20070619
Jeffrey Altman [Tue, 19 Jun 2007 17:15:59 +0000 (17:15 +0000)]
DEVEL15-windows-updatecell-20070619

No longer permit cm_GetCell() or cm_FindCellByID() to return NULL simply
because cm_UpdateCell() failed.  The cm_cell_t object still exists and
is valid even if the vlServersp list is empty.

Modify the lock management in cm_GetCell_Gen() to ensure we drop all the
locks.

In cm_Analyze() update the volume status when one of the servers reports
VBUSY or VRESTARTING.

(cherry picked from commit 01c3c334d53da95318f54b4085da9b37c79c90b9)

18 years agoDEVEL15-windows-deadlock-20070619
Jeffrey Altman [Tue, 19 Jun 2007 13:04:04 +0000 (13:04 +0000)]
DEVEL15-windows-deadlock-20070619

fix deadlock on cm_volumeLock introduced by last week's work

in cm_Analyze, make sure we get a cm_cell_t reference otherwise we
won't find the cm_volume_t we are searching for when ALLOFFLINE or
ALLBUSY.

(cherry picked from commit 59db9812209d5e54cc47fc32d626b8b73f7fc22b)

18 years agoDEVEL15-man-page-net-info-fixes-20070619
Russ Allbery [Tue, 19 Jun 2007 10:08:41 +0000 (10:08 +0000)]
DEVEL15-man-page-net-info-fixes-20070619

Fix a NetInfo reference in the NetRestrict man page that should be
NetRestrict and add cross-references in SEE ALSO.

(cherry picked from commit 67ea3ae96bc678b5e2a61810634bef71713291da)

18 years agoDEVEL15-windows-amd64-20070619
Jeffrey Altman [Tue, 19 Jun 2007 06:29:58 +0000 (06:29 +0000)]
DEVEL15-windows-amd64-20070619

Use 0x0502 instead of 0x0500. There is no 64-bit Windows 2000 support.

Explicitly list the machine type as X64 for linking.

(cherry picked from commit f1db63646c38635a6bd2addb5202344da6fce275)

18 years agoDEVEL15-windows-misc-20070619
Jeffrey Altman [Tue, 19 Jun 2007 06:25:39 +0000 (06:25 +0000)]
DEVEL15-windows-misc-20070619

VMWare adapters have proven unreliable replacements for the Microsoft
loopback adapter.  Registering AFS often results in a name space collision.

Add cm_DumpCells() function and dump the cells as part of "fs memdump"

Dump all cm_scache_t and cm_volume_t regardless of reference counts

Fix cm_GetCell_Gen() to not allocate a new cm_cell_t when evaluating
mount points to aliases.  Instead, after looking up the alias successfully
search the allCellsp list for the fullname of the cell.  If found, use
the existing entry and cleanup the one we were about to allocate.

Use read locks whenever possible instead of write locks when searching
the allCellsp list.

(cherry picked from commit aed66fda2c2ba1758a69950a53d09efc82f8212d)

18 years agoDEVEL15-macos-realtime-ip-updates-20070618
Derrick Brashear [Mon, 18 Jun 2007 19:49:49 +0000 (19:49 +0000)]
DEVEL15-macos-realtime-ip-updates-20070618

notice and deal with IP address changes

(cherry picked from commit 56728676386dfcdb1e9f3938ce9375f9a5531f17)

18 years agoDEVEL15-readme-20070618
Derrick Brashear [Mon, 18 Jun 2007 19:23:17 +0000 (19:23 +0000)]
DEVEL15-readme-20070618

update the systype list

(cherry picked from commit f19ce63279d8745146694de989633cf2035e13f9)

18 years agoDEVEL15-avoid-empty-uuid-20070618
Derrick Brashear [Mon, 18 Jun 2007 19:04:11 +0000 (19:04 +0000)]
DEVEL15-avoid-empty-uuid-20070618

avoid issue where uuid can potentially be 0: set one always at AFSOP_GO step

(cherry picked from commit 39b027504b9b26b9b71aa4abac5f2b66f256f200)

18 years agoDEVEL15-darwin-collect-network-errors-for-fast-timeout-20070618
Derrick Brashear [Mon, 18 Jun 2007 18:58:37 +0000 (18:58 +0000)]
DEVEL15-darwin-collect-network-errors-for-fast-timeout-20070618

same optimization we do on windows, linux

(cherry picked from commit 0c5cf6028d2e45809772838fb169c456f22e61f6)

18 years agoDEVEL15-darwin-afs-syscall-eliminate-needless-vfs-context-hold-20070618
Derrick Brashear [Mon, 18 Jun 2007 18:06:24 +0000 (18:06 +0000)]
DEVEL15-darwin-afs-syscall-eliminate-needless-vfs-context-hold-20070618

avoid potential deadlock if e.g. SetTokens is called before the kernel module initialization completes

(cherry picked from commit 125e4511a9715a5df7dda265373d97a21177ea21)

18 years agoDEVEL15-windows-nim-afs-20070617
Asanka Herath [Sun, 17 Jun 2007 05:50:29 +0000 (05:50 +0000)]
DEVEL15-windows-nim-afs-20070617

Don't assume that WM_DESTROY is the final message received by a
window.  Verify dialog data structures when handling messages and
reset the window data field when freeing the data structure.

Zero should be considered a valid credentials type identifier in
Network Identity Manager.

When checking if an identity is configured to obtain a token for a
specific cell, don't go through the list of cells if AFS tokens
are disabled for the identity.

Similarly, when removing a token for a specific cell from all
identities, don't bother modifying identities for whom AFS tokens
are disabled.

Keep track of whether a specific cell was added to the list of
cells to authenticate for an identity because it was listed in the
configuration or because a token for the cell already existed.

Correct an off-by-one error when calculating buffer sizes for
multi strings which failed to account for a double NULL
terminator.

Don't update the cell->identity mapping if a token for that cell
could not be obtained.

If the list of cell to authenticate for an identity is empty, we
still need to write the empty string to the configuration.
Otherwise, removing all the tokens from an identity will not
result in a configuration change reflecting that.

(cherry picked from commit 6bc5c0899a9eb6c134c0079406fe28113e5cbeaf)

18 years agoDEVEL15-windows-ioctl-path-availability-20070614
Jeffrey Altman [Thu, 14 Jun 2007 21:58:53 +0000 (21:58 +0000)]
DEVEL15-windows-ioctl-path-availability-20070614

fix cm_IoctlPathAvailability to return the current volume state.
0, CM_ERROR_ALLBUSY, CM_ERROR_ALLDOWN, CM_ERROR_ALLOFFLINE

modify fs.c to generate messages when the errors are received.

(cherry picked from commit e8fa4d0e40c2a4352010986f82ac2fbfe8b8ae3e)

18 years agoDEVEL15-windows-volstate-update-post-network-change-20070614
Jeffrey Altman [Thu, 14 Jun 2007 21:55:18 +0000 (21:55 +0000)]
DEVEL15-windows-volstate-update-post-network-change-20070614

When the system's IP address list changes we invalidate the existing
RX connections and probe all of the servers.  A better algorithm is
to probe all vldb servers, invalidate the rx connections, and then
probe all file servers.

(cherry picked from commit 0187bf2feb9a191ba0b7868905854c603cc5092c)

18 years agoDEVEL15-rx-lwp-sendmsg-20070614
Jeffrey Altman [Thu, 14 Jun 2007 20:06:25 +0000 (20:06 +0000)]
DEVEL15-rx-lwp-sendmsg-20070614

update the lwp version of rxi_sendmsg to return the same error, -1,
returned by the pthread version.

replace errno with WSAGetLastError() in the Windows blocks so that
the correct error value is checked.

(cherry picked from commit 46a931d020da24dd534e1064ea9fbe693acbdf65)

18 years agoDEVEL15-windows-pioctl-add-error-translations-20070614
Jeffrey Altman [Thu, 14 Jun 2007 19:31:35 +0000 (19:31 +0000)]
DEVEL15-windows-pioctl-add-error-translations-20070614

add error translations for CM_ERROR_ALLDOWN, CM_ERROR_ALLBUSY,
CM_ERROR_ALLOFFLINE, CM_ERROR_NOSUCHPATH

(cherry picked from commit c27c00f8a93dcfd1b919197e233c217f778cbbf7)

18 years agoDEVEL15-windows-magic-share-names-20070613
Asanka Herath [Wed, 13 Jun 2007 23:28:25 +0000 (23:28 +0000)]
DEVEL15-windows-magic-share-names-20070613

Access to AFS volumes via magic share names

        \\afs\<cell><type><volume>

<cell> = cellname
<type> = % or #
<volume> = volume name or id

(cherry picked from commit 5ac7a7db9a79ac81f83b61150e73bc7bf0f14d61)

18 years agoDEVEL15-windows-server-ping-deadlock-20070612
Jeffrey Altman [Wed, 13 Jun 2007 07:38:39 +0000 (07:38 +0000)]
DEVEL15-windows-server-ping-deadlock-20070612

avoid deadlock in cm_ServerPing due to volume status update code

(cherry picked from commit c74a23fc4043e28a138fe624b1aadf3af1ee8f6f)

18 years agoDEVEL15-newuuid-20070612
Derrick Brashear [Tue, 12 Jun 2007 20:14:07 +0000 (20:14 +0000)]
DEVEL15-newuuid-20070612

add the newuuid command

(cherry picked from commit b1bbe33fdee32a3b3ec87a9d770d8684347f7c4b)

18 years agoDEVEL15-linux-configure-vfs-update-20070612
Marc Dionne [Tue, 12 Jun 2007 19:39:41 +0000 (19:39 +0000)]
DEVEL15-linux-configure-vfs-update-20070612

FIXES 62017

clean up output

(cherry picked from commit 391d657c6ed80b5479d1db6ded957c8ddf688cb2)

18 years agoDEVEL15-linux-vfs-flush-3arg-20070612
Marc Dionne [Tue, 12 Jun 2007 19:34:16 +0000 (19:34 +0000)]
DEVEL15-linux-vfs-flush-3arg-20070612

FIXES 62203

3rd arg for passing lock owner id. add configure gunk also

(cherry picked from commit 6eabfbd4b969d9efcc1eef646899af28a5077f0f)

18 years agoDEVEL15-windows-volume-status-tracking-20070612
Jeffrey Altman [Tue, 12 Jun 2007 16:38:43 +0000 (16:38 +0000)]
DEVEL15-windows-volume-status-tracking-20070612

* re-write cm_Analyze to make better use of the known volume
  status.  VL_Server queries cannot result in CM_ERROR_ALLOFFLINE
  messages.

* renamed cm_CheckBusyVolumes to cm_CheckOfflineVolumes.
  busy volumes will be reset to srv_non_busy by the function
  but there is no mechanism for querying the busy state other
  than by attempting to access the resource.

* cm_Analyze will query the state of an offline volume before
  deciding whether or not to retry when all volume instances
  are offline.

(cherry picked from commit 86b3330c7148c25c0a7ee4ea8f15e3098695a667)

18 years agoDEVEL15-linux-2-6-22-updates-20070611
Marc Dionne [Tue, 12 Jun 2007 06:44:00 +0000 (06:44 +0000)]
DEVEL15-linux-2-6-22-updates-20070611

FIXES 61767

1 - task_struct loses thread_info, which is now accessible through the
task_thread_info() macro. A configure test is added to deal with this.

2 - the SLAB_CTOR_VERIFY flag is gone

(cherry picked from commit 37a0b14e016af74176d714cc1b25a2af00275d56)

18 years agoDEVEL15-man-vos-online-20070611
Steven Jenkins [Tue, 12 Jun 2007 05:02:13 +0000 (05:02 +0000)]
DEVEL15-man-vos-online-20070611

Add initial man pages for vos offline and vos online.

(cherry picked from commit ce209b23a5c64ed4b0d79ed775acf6cc000f4a35)

18 years agoDEVEL15-man-fileserver-args-20070611
Lars Wilke [Tue, 12 Jun 2007 04:58:36 +0000 (04:58 +0000)]
DEVEL15-man-fileserver-args-20070611

Missed another erroneous option argument.

(cherry picked from commit ee37fd74ef67ea6c9543544b23ca69fd9f624572)

18 years agoDEVEL15-windows-notes-20070610
Jeffrey Altman [Sun, 10 Jun 2007 18:05:14 +0000 (18:05 +0000)]
DEVEL15-windows-notes-20070610

changes since 1.5.20.  not ready for 1.5.21 yet

18 years agoDEVEL15-windows-volume-status-tracking-20070610
Jeffrey Altman [Sun, 10 Jun 2007 18:00:07 +0000 (18:00 +0000)]
DEVEL15-windows-volume-status-tracking-20070610

* changed the enum values for cm_serverRef_t state info to use a
  private name space to avoid collisions (srv_)

* added a srv_deleted state for cm_serverRef_t objects.  This
  state is set when cm_FreeServerList() is called with the
  CM_FREESERVERLIST_DELETE flag set.  cm_FreeServerList() may
  not always delete the cm_serverRef_t from the list if it is
  still in use by another thread.  the srv_deleted state means
  the object's contents are no longer valid and it must be
  skipped.  It will be deleted the next time the object is
  freed and the refcount hits zero.

* the srv_deleted state is also used when a file server reports
  either VNOVOL or VMOVED instead of marking the cm_serverRef_t
  as offline.  This is done to prevent additional usage of the
  stale vldb data while waiting for the update volume request
  to complete.

* added a state field to the cm_volume_t object (enum volstate
  vl_ name space) that maintains the state of the volume based
  upon the states of all of the cm_serverRef_t and cm_server_t
  objects.

* modified cm_UpdateVolume() to set the state of the cm_volume_t
  RW, RO, and BK to either vl_alldown or vl_online.  There can't
  be any other states because cm_UpdateVolume() destroys any
  previous knowledge we might have had regarding busy or offline
  volume status

* modified cm_UpdateVolume() to update the volume name in the
  cm_volume_t to the volume base name if the previous value was
  a volume ID.

* modified cm_FollowMountPoint() to check to see if the volume
  name is a volume ID and if so call cm_GetVolumeByID instead
  of cm_GetVolumeByName.  This ensures that volume IDs are always
  looked up as numeric values.  There is no longer a need to
  maintain a separate cm_volume_t containing the string representation
  of the ID value.

* Added a flags parameter to cm_GetVolumeByName() and cm_GetVolumeByID().
  The first flag is a "CREATE" flag which is set by all existing
  calls.  The flag is not set by calls to cm_GetVolumeByID() from
  the server probe code when volume status is being updated.  We
  do not want the server probe operation to result in additional
  turnover in the cached volume data.  The second flag is NO_LRU_UPDATE
  which is set when the server probe code updates the volume status.
  This flag will be used to prevent the server probe operation from
  changing the order of the least recently used queue.

* Modified cm_GetVolumeByName to ensure that only one cm_volume_t is
  allocated for a given set of normal, readonly, and backup volumes
  regardless of whether or not the volume is accessed via name or
  ID number.  The cm_volume_t namep field is always the base name
  of the volume.

* Added a new volume state, vl_unknown.  This state is used as
  the initial state for all cm_volume_t when the cache manager starts,
  for each cm_volume_t at creation, and for each cm_volume_t when
  recycling.  The cache manager does not know the state of all
  volumes in the world, only those that are in the cache and for
  which it has queried the VLDB and hosting file servers.

* modified cm_GetVolumeByName() to initialize the state of a
  volume to vl_unknown.  The actual state will be set when a
  cm_VolumeUpdate() call completes successfully.

* changed name of scache hash table variables to avoid ambiguity
  when adding hash tables for volumes

* fix a buffer overrun in sys\pioctl_nt.c  pioctl().
  (thanks Asanka)

* modified cm_UpdateVolume() to handle the case in which there is
  no RW volume but there is are RO volumes for a given base name.
  This is done by querying for the ".readonly" volume name if the
  base name does not exist in the VLDB.  We never query for the
  .backup name because under the current usage model a .backup
  volume may only exist on the server that the read-write volume
  is located.  If there is no RW volume, there can be no .backup.

* Added four hash tables for cm_volume_t objects to improve the
  search time of cm_GetVolumeByID(), cm_GetVolumeByName() and
  cm_ForceUpdateVolume(). One each for Name, RWID, ROID, and
  BKID.  Three ID hash tables are necessary as long as it is
  desireable to maintain a single cm_volume_t containing all
  of the related RW, RO, and BK volume data.  Having the RW and
  RO volume data in the same object is necessary for the
  implementation of cm_GetROVolumeID() which returns either the
  RO or RW ID depending upon the existence of RO volume instances.

* Added a volume LRU queue so that volume reuse becomes fairer.
  This does not replace the all Volumes list which is used when
  it is desireable to walk a list of all the volumes whose order
  is not going to change out from underneath you which makes it
  safe to drop the cm_volumeLock.

* handles volume hash table updates where volume name to
  volume ID number changes.  The volume name remains
  constant in the cm_volume_t.  if a vos rename is performed,
  the name of the volume will change and the volume IDs will be
  updated.  Subsequent access to the old volume ID will create a
  new cm_volume_t with the new name.

* Added a daemon thread operation to query the state of volumes
  listed as busy or offline.  cm_CheckBusyVolumes() calls
  RXAFS_GetVolumeStatus() for each volume ID that is marked vl_busy
  or vl_offline.   If the volume is now online, the status on the
  volume is updated.  The default period is 600 seconds.  This can
  be configured with the BusyVolumeCheckInterval registry value.

* Added prototype for smb_IoctlPrepareRead() which was missing a
  return type in the function definition.

* Added volume id lists to the cm_server_t.  These lists are
  allocated in blocks of ~32 IDs.  When a cm_PingServer()
  detects a change in server state, the state of the cm_volume_t
  is updated.

* Added volID to the cm_serverRef_t object.  volID is used
  to identify the volume for which the object is a referral.
  cm_FreeServerList() uses the volID to remove the volume
  from the cm_server_t.

* In cm_Analyze, when VNOVOL or VMOVED are received,
  call cm_ForceVolumeUpdate() to force a refresh of the volume
  location data.

* Added cm_VolumeStatusNotification() which is used at the moment
  to log volume status changes to the trace log.  It will also
  be used as the access point to the File System Filter driver
  notification engine.

* Added an all cm_scache_t list to cm_data.  This replaces the use
  of the stat cache LRU queue when we need to enumerate all
  entries.  The LRU list order is not static and when using it to
  enumerate all entries it can result in items being missed or
  items being processed more than once.

* Modified cm_Analyze(). Instead of reseting the busy or offline
  state of a volume and forcing a retry of the operation
  cm_Analyze will defer to the background daemon thread that will
  update the state once every 600 seconds.

* Added the automatic generation of a Freelance ".root" read-write
  mountpoint that refers to the root.afs volume of the workstation
  cellname at the time the mountpoint is created.

(cherry picked from commit 66adaf326861ae8a544650928bc6934d26a91d1d)

18 years agoDEVEL15-rxkad-badticket-20070610
Jeffrey Altman [Sun, 10 Jun 2007 15:25:29 +0000 (15:25 +0000)]
DEVEL15-rxkad-badticket-20070610

In rxkad_CheckResponse, when checking the return value from tkt_CheckTimes,
the order is == 0, == -1, < -1, <= 0.  The <= 0 case is extraneous so
remove it. Both < -1 and <= 0 returned RXKADBADTICKET.

(cherry picked from commit f4bd2604222c1199fc0ece0eaa82c034fa50b977)

18 years agoDEVEL15-windows-pioctl-buffer-overrun-20070609
Asanka Herath [Sun, 10 Jun 2007 06:55:42 +0000 (06:55 +0000)]
DEVEL15-windows-pioctl-buffer-overrun-20070609

this patch protects against a buffer overrun in the client if the
server were to send more data than the receiving buffer can hold.

(cherry picked from commit 8a814a5596e9d8db1c24326715f794ae46966b3b)

18 years agoDEVEL15-linux-kmem-destroy-fix-20070609
Derrick Brashear [Sun, 10 Jun 2007 06:43:11 +0000 (06:43 +0000)]
DEVEL15-linux-kmem-destroy-fix-20070609

don't destroy if create failed

(cherry picked from commit 18484f0fc64a550c1abacb6d2614c7ea12af4052)

18 years agoDEVEL15-vsprocs-avoid-bogus-error-20070606
Derrick Brashear [Wed, 6 Jun 2007 18:56:19 +0000 (18:56 +0000)]
DEVEL15-vsprocs-avoid-bogus-error-20070606

don't EPRINT if it's not an error

(cherry picked from commit fcfdcc3cc1c272966574103f7e8bd495c7fcbb84)

18 years agoDEVEL15-lwp-linux-ucontext-20070606
Derrick Brashear [Wed, 6 Jun 2007 18:33:28 +0000 (18:33 +0000)]
DEVEL15-lwp-linux-ucontext-20070606

to revert other changes which got pushed down here; make things like the head

18 years agoDEVEL15-aix-declare-setlim-20070606
Derrick Brashear [Wed, 6 Jun 2007 18:22:05 +0000 (18:22 +0000)]
DEVEL15-aix-declare-setlim-20070606

maybe fix lwp.c compiling with modern aix

(cherry picked from commit cb18c5f80257d2ef239933dbe055cbe753b312c6)

18 years agoDEVEL15-solaris-sparc-default-to-v8-insns-for-kmod-20070605
Derrick Brashear [Tue, 5 Jun 2007 18:11:28 +0000 (18:11 +0000)]
DEVEL15-solaris-sparc-default-to-v8-insns-for-kmod-20070605

FIXES 23935

don't use the default instruction set since the compiler has changed over time

(cherry picked from commit a62104968094bec86a7d3692158bbc84db035cdd)

18 years agoDEVEL15-fix-kbuild-linux-ppc64-20070604
Jeffrey Hutzelman [Tue, 5 Jun 2007 04:54:29 +0000 (04:54 +0000)]
DEVEL15-fix-kbuild-linux-ppc64-20070604

The Linux 2.6 kbuild environment requires assembly files end in .S, not .s.

(cherry picked from commit e8493e06f9d62c282bca2df8a4a0ac20caa4c70c)

18 years agoDEVEL15-windows-release-notes-20070604
Jeffrey Altman [Mon, 4 Jun 2007 13:16:56 +0000 (13:16 +0000)]
DEVEL15-windows-release-notes-20070604

in the 1.5.9 release time frame sections 4 and 5 on debugging and bug
reporting got lost.  restore them.

18 years agoDEVEL15-clone-dont-hold-vol-lock-20070516 openafs-devel-1_5_20
Derrick Brashear [Fri, 18 May 2007 06:53:56 +0000 (06:53 +0000)]
DEVEL15-clone-dont-hold-vol-lock-20070516

same deal as purge. a transaction on the volume outstanding holds it. we don't need to preclude all access

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

same deal as purge. a transaction on the volume outstanding holds it. we don't n
eed to preclude all access

====================

same deal as purge. a transaction on the volume outstanding holds it. we don't n
eed to preclude all access

(cherry picked from commit aa5d46b71b3700d6256f47237fadf0a4829daee6)

18 years agoDEVEL15-openafs-1-5-20-20070518
Derrick Brashear [Fri, 18 May 2007 06:22:33 +0000 (06:22 +0000)]
DEVEL15-openafs-1-5-20-20070518

make 1.5.20

18 years agoDEVEL15-linux-posix-lock-file-has-wait-arg-now-20070517
Derrick Brashear [Thu, 17 May 2007 19:36:01 +0000 (19:36 +0000)]
DEVEL15-linux-posix-lock-file-has-wait-arg-now-20070517

FIXES 58590

hopefully this works, i can't actually try it now

(cherry picked from commit ad98eacdadf6b9e079d1606f40cfc352450650a1)

18 years agoDEVEL15-windows-notes-20070517
Jeffrey Altman [Thu, 17 May 2007 17:19:03 +0000 (17:19 +0000)]
DEVEL15-windows-notes-20070517

notes for 1.5.20

18 years agoDEVEL15-windows-version-20070517
Jeffrey Altman [Thu, 17 May 2007 17:12:52 +0000 (17:12 +0000)]
DEVEL15-windows-version-20070517

1.5.2000.0 == 1.5.20

18 years agoDEVEL15-linux-sparc-arch-detection-20070517
Arkadi Shishlov [Thu, 17 May 2007 07:51:27 +0000 (07:51 +0000)]
DEVEL15-linux-sparc-arch-detection-20070517

FIXES 60288

use arch to figure out if we are sparc64

(cherry picked from commit 9352435f1c128ee011fc820e41c6fba508d141dd)

18 years agoDEVEL15-linux-posix-lock-file-has-wait-arg-now-20070517
Derrick Brashear [Thu, 17 May 2007 07:36:42 +0000 (07:36 +0000)]
DEVEL15-linux-posix-lock-file-has-wait-arg-now-20070517

FIXES 58590

hopefully this works, i can't actually try it now

(cherry picked from commit 59eb3de5ea3bc9588c91d3f2dbb6a598fa56ad43)

18 years agoDEVEL15-bucoord-dump-levels-20070517
Rainer Toebbicke [Thu, 17 May 2007 07:14:06 +0000 (07:14 +0000)]
DEVEL15-bucoord-dump-levels-20070517

FIXES 57246

dont use memory past what you've allocated

(cherry picked from commit 87a93241dab68696a54c8e43df4ffb70928fce21)

18 years agoDEVEL15-windows-release-notes-20070516
Jeffrey Altman [Wed, 16 May 2007 23:37:08 +0000 (23:37 +0000)]
DEVEL15-windows-release-notes-20070516

updates to release notes for 1.5.20.

18 years agoDEVEL15-libafs-common-placate-irix-make-20070516
Lukas Hluze [Wed, 16 May 2007 21:58:43 +0000 (21:58 +0000)]
DEVEL15-libafs-common-placate-irix-make-20070516

FIXES 59153

irix make wants $@ to be $(@) inside other braces

(cherry picked from commit 5987e2923a2670a27a801461dc9668ec88ed7d2a)

18 years agoDEVEL15-rx-ack-idle-comment-20070516
Chaskiel M Grundman [Wed, 16 May 2007 21:49:56 +0000 (21:49 +0000)]
DEVEL15-rx-ack-idle-comment-20070516

FIXES 60046

fix comment

(cherry picked from commit d143385ec6e633c0b8a953550a4d2b9e5c1b2171)

18 years agoDEVEL15-rx-tq-busy-20070516
Chaskiel M Grundman [Wed, 16 May 2007 21:45:25 +0000 (21:45 +0000)]
DEVEL15-rx-tq-busy-20070516

FIXES 60046

abstract tq busy wait code

(cherry picked from commit 7a72e2445fa8da7947a4370080edb9eb4df67e17)

18 years agoDEVEL15-rx-send-req-ack-20070516
Chaskiel M Grundman [Wed, 16 May 2007 21:37:47 +0000 (21:37 +0000)]
DEVEL15-rx-send-req-ack-20070516

FIXES 60046

change reply code where appropriate

(cherry picked from commit a900fe30894b5c1bf3a55f2f539179c75c177dad)

18 years agoDEVEL15-glibc24-jmp-buf-mangling-20070516
Arkadi Shishlov [Wed, 16 May 2007 21:22:30 +0000 (21:22 +0000)]
DEVEL15-glibc24-jmp-buf-mangling-20070516

FIXES 60440

glibc 2.4 does jmp buf manging for "security"

whatever. deal.

(cherry picked from commit f550e3b3ffeac6be73a780fa3ed43ab3dc4600ba)

18 years agoDEVEL15-supergroup-cleanup-20070516
Marcus Watts [Wed, 16 May 2007 20:55:49 +0000 (20:55 +0000)]
DEVEL15-supergroup-cleanup-20070516

FIXES 60809

Problems fixed with this patch:
/1/ supergroup bug: when updating an entry in prdb, the logic in
pt_mywrite is supposed to unset flagged & found bitmap entries.
This failed on little-endian architecture machines.

/2/ warnings; a few fixes to eliminate some compiler noise.

(cherry picked from commit d608809c247c9b8105c95e230449f98705767476)

18 years agoDEVEL15-ptserver-fix-bitmap-20070516
Marcus Watts [Wed, 16 May 2007 20:44:12 +0000 (20:44 +0000)]
DEVEL15-ptserver-fix-bitmap-20070516

FIXES 60680

make sure bitmap code is correct else supergroups returns invalid answer

fix verify code to be correct on little endian hosts

(cherry picked from commit 62dc1975410ad0dbea12a0c7e3c11a37230e5971)

18 years agoDEVEL15-windows-afsd-list-acl-only-dir-20070516
Jeffrey Altman [Wed, 16 May 2007 16:55:16 +0000 (16:55 +0000)]
DEVEL15-windows-afsd-list-acl-only-dir-20070516

FIXES 60258

Do not return access denied when applying directory patches if the
user does not have read permission.  This is the case we want to
fake the directory entries for.  Also, make sure we set the directory
attribute on non-files so that the path can be accessed via the
Explorer Shell.

(cherry picked from commit 03e3b77553bed4d395393a53d81069c71d67dbea)

18 years agoDEVEL15-windows-afsd-uninitialized-20070516
Jeffrey Altman [Wed, 16 May 2007 16:51:05 +0000 (16:51 +0000)]
DEVEL15-windows-afsd-uninitialized-20070516

Do not use uninitialized variables in log messages

Do not dereference NULL pointers

(cherry picked from commit 82d2cc5b7fb638073e859e6a2b03b97722f518d9)

18 years agoDEVEL15-windows-afsd-list-acl-only-dir-20070515
Jeffrey Altman [Wed, 16 May 2007 04:44:44 +0000 (04:44 +0000)]
DEVEL15-windows-afsd-list-acl-only-dir-20070515

FIXES 60258

When the ACL on a directory is list only, attempts to read the status
of items in the directory will fail.  Therefore, it is pointless to try.
Instead, when we know the user ACL does not have read permission, we
should immediately lie about the status info.  That way we don't pound
the file server with requests that will produce an abort which in turn
will trigger force the file server to delay responses to the client.

This change has the added benefit that cached status info is no longer
leaked to callers that do not have appropriate permissions.

With this change the Explorer Shell is much more responsive.

(cherry picked from commit e02fa3e73b258938135244f7e3c09baa464e0c26)

18 years agoDEVEL15-windows-aklog-20070515
Jeffrey Altman [Wed, 16 May 2007 04:34:58 +0000 (04:34 +0000)]
DEVEL15-windows-aklog-20070515

FIXES 60938

do not copy an uninitialized field

(cherry picked from commit 60bbb56b546438d5e89854f61bcea368c5537341)

18 years agoDEVEL15-windows-fs-getcacheparms-20070515
Jeffrey Altman [Tue, 15 May 2007 21:20:55 +0000 (21:20 +0000)]
DEVEL15-windows-fs-getcacheparms-20070515

fix output of cache parms now that they are 64-bit

(cherry picked from commit 11cec9e764eb4bc47e61eb9475b1776d9e58bc87)

18 years agoDEVEL15-namei-dont-randomly-full-salvage-20070514
Rainer Toebbicke [Mon, 14 May 2007 22:43:43 +0000 (22:43 +0000)]
DEVEL15-namei-dont-randomly-full-salvage-20070514

FIXES 61300

trivial fix to clear forcep
(inode already does this)

(cherry picked from commit c78b4c61f70f6756a79440748ecacea2affec8ab)

18 years agoDEVEL15-getdcache-no-slowpass-enforcement-on-dynroot-20070514
Chaskiel M Grundman [Mon, 14 May 2007 22:37:51 +0000 (22:37 +0000)]
DEVEL15-getdcache-no-slowpass-enforcement-on-dynroot-20070514

don't enforce slowpass restriction on dynroot vcaches (and don't do unneeded work)

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

oops, another change slipped in

(cherry picked from commit 1b1c0eda5a3db6fe92d46d5f3d8529bf7c6378c2)

18 years agoDEVEL15-fix-partition-check-20070510
Frank Cusack [Thu, 10 May 2007 23:42:33 +0000 (23:42 +0000)]
DEVEL15-fix-partition-check-20070510

oops

(cherry picked from commit 08cbee9b2d941d79b9f7919f4c76b1ab45ef3643)

18 years agoDEVEL15-vos-namelen-for-dump-restore-is-stupid-20070509
Derrick Brashear [Thu, 10 May 2007 01:16:57 +0000 (01:16 +0000)]
DEVEL15-vos-namelen-for-dump-restore-is-stupid-20070509

fixes bug reported by stephen joyce which i am too lazy to go get the RT number of

(cherry picked from commit f2761c416320a3ff2bb0af4298ca95b8ecb04211)

18 years agoDEVEL15-up-preserve-dir-mtime-20070507
Russ Allbery [Mon, 7 May 2007 18:24:34 +0000 (18:24 +0000)]
DEVEL15-up-preserve-dir-mtime-20070507

FIXES 34522

Set the mtime on newly created directories to match the original directory.

(cherry picked from commit 1d4d8f5c4f125707fc6af432024d99e2672cadab)

18 years agoDEVEL15-windows-netidmgr-20070505
Asanka Herath [Sat, 5 May 2007 22:14:48 +0000 (22:14 +0000)]
DEVEL15-windows-netidmgr-20070505

Only automatically add configuration for cell foo.com if the realm
of the cell matches the realm of the identity

(cherry picked from commit 958bbb77bfbfc100031850b6fd7836658c35912a)

18 years agoDEVEL15-windows-checkvols-freelance-20070504
Jeffrey Altman [Fri, 4 May 2007 07:06:13 +0000 (07:06 +0000)]
DEVEL15-windows-checkvols-freelance-20070504

do not flush mount point values for freelance volume

(cherry picked from commit c8a3a0ecf210a7475f38267952ad8c96f27c08d2)

18 years agoDEVEL15-windows-wix-shell-ext-20070503
Jeffrey Altman [Fri, 4 May 2007 03:49:57 +0000 (03:49 +0000)]
DEVEL15-windows-wix-shell-ext-20070503

When installing on 64-bit Windows we need to install the 32-bit and 64-bit
shell extensions under different HKCR keys.  Otherwise, only one of the
explorer versions will get an extension handler.

(cherry picked from commit 2b442dbddb5d44f4b7e08eb04ae277c24a5e8964)

18 years agoDEVEL15-windows-wix-beta-upgrades-20070503
Jeffrey Altman [Fri, 4 May 2007 00:13:31 +0000 (00:13 +0000)]
DEVEL15-windows-wix-beta-upgrades-20070503

This change is not as important for OpenAFS as it was for KFW as
OpenAFS does not issue betas with the same build numbers as final
releases.  However, for users of daily builds when build numbers
are not being incremented it will provide benefit.

We modify the upgrade rules to include the current version number
and then block the uninstall if the currently installed package
is the one that is being installed.

The change applies to both the regular installer and the 32-bit
tools for WOW64 environments.

(cherry picked from commit 9f508ce443f1ef2103fbb74c6a094aef3aa96e86)

18 years agoDEVEL15-windows-flush-mountpoints-20070502
Jeffrey Altman [Thu, 3 May 2007 01:45:58 +0000 (01:45 +0000)]
DEVEL15-windows-flush-mountpoints-20070502

When flushing volume location information also flush the mount point
data.  This change results in behavior that matchs the Unix client.

(cherry picked from commit d9946ba827b7099848dfe659f0eaf10167e9413b)

18 years agoDEVEL15-windows-wix-html-installgd-20070426
Jeffrey Altman [Thu, 26 Apr 2007 19:45:16 +0000 (19:45 +0000)]
DEVEL15-windows-wix-html-installgd-20070426

FIXES 59827

The wix installer creates the wrong directory name for the IBM Quick Guide
Remember to specify the LongName.

(cherry picked from commit 113ccb9963be8ccd602520b4987f2cc0a5f52b51)

18 years agoDEVEL15-windows-dropbox-fix-20070426
Asanka Herath [Thu, 26 Apr 2007 19:08:00 +0000 (19:08 +0000)]
DEVEL15-windows-dropbox-fix-20070426

FIXES 60161

A dropbox is a directory with ACLs 'li' that permits a user to create
a new file but not be able to read other files within the same directory.

The 1.5 Windows clients have not been able to write to dropboxes since
the addition of the locking code.  The lock acquisition test assumed
that if the user did not have PRSFS_LOCK or PRSFS_WRITE that it would
be unable to obtain a lock.  It did not take into account the special
treatment of PRSFS_INSERT by the file server and so never bothered to
ask.

As it turns out though, the locking situation is more complex than one
might think.  If the server is 1.4.1 or earlier, it will not grant
any locks for users with INSERT.  The PRSFS_LOCK privilege is required.

For 1.4.2 through 1.4.4, write locks will be granted if the user has
PRSFS_INSERT but a read lock will not be granted unless the user has
PRSFS_LOCK.  Therefore, if the server advertises the WRITELOCKACL
capability bit if the read lock is not granted a write lock can be
attempted.

For 1.4.5 and 1.5.20 and above, the file server will grant read locks
if the user has PRSFS_WRITE or PRSFS_INSERT.  (Insert only applies if
the user is the creator of the file).

This patch handles all of the above possibilities.  In the pre-1.4.2
case a read-lock request will be faked locally.

(cherry picked from commit bfed93d7fce113690c20e1cad102c8b23c0aa17f)

18 years agoDEVEL15-rx-call-abort-release-refcount-20070425
Derrick Brashear [Wed, 25 Apr 2007 20:48:51 +0000 (20:48 +0000)]
DEVEL15-rx-call-abort-release-refcount-20070425

don't leak a call ref when doing a call abort

(cherry picked from commit 92ecfdd675e8a851c7f0f19e5359362fa00c1c8f)

18 years agoDEVEL15-viced-write-perm-grants-read-lock-20070423
Jeffrey Altman [Tue, 24 Apr 2007 01:28:28 +0000 (01:28 +0000)]
DEVEL15-viced-write-perm-grants-read-lock-20070423

the permission to obtain a write-lock is granted either by having the
"w" permission or the "i" when owning the file.  The permission to obtain
a read-lock has been granted by having the "k" permission.  However it
makes no sense that someone can obtain a write-lock but not a read-lock.
This patch grants permission to obtain read-locks to those who can obtain
write-locks.

(cherry picked from commit bb61e1dc678ea28132c195438fc1f157fa580cd1)

18 years agoDEVEL15-windows-wix-html-installgd-20070420
Jeffrey Altman [Fri, 20 Apr 2007 12:02:25 +0000 (12:02 +0000)]
DEVEL15-windows-wix-html-installgd-20070420

FIXES 59827

The wix installer creates the wrong directory name for the IBM Quick Guide

(cherry picked from commit c5c23b7bc4544af2c1204622cd67b835b27bcdab)

18 years agoDEVEL15-openafs-1-5-19-20070419 openafs-devel-1_5_19
Derrick Brashear [Thu, 19 Apr 2007 05:04:29 +0000 (05:04 +0000)]
DEVEL15-openafs-1-5-19-20070419

make 1.5.19

18 years agoDEVEL15-linux-symlink-handling-avoid-crash-20070418
Christopher Allen Wing [Wed, 18 Apr 2007 19:19:59 +0000 (19:19 +0000)]
DEVEL15-linux-symlink-handling-avoid-crash-20070418

Background: OpenAFS is vulnerable to crashing in the linux kernel symlink
code when running on kernel versions between 2.6.10 to 2.6.12.  This also
includes all RHEL4 kernels, because RHEL4 includes the code from 2.6.10. The
problem is that the symlink text caching API, page_follow_link() et al, is
unsuitable for network filesystems where the page cache may be invalidated
in parallel with a path lookup.

This crash can be triggered easily by doing a bunch of path lookups
involving symlinks (e.g., stat() on various files pointed to through links),
while simultaneously running 'fs flushvol' on the volume containing the
symlinks.

The simplest way to fix this problem is to disable the use of symlink text
caching when the kernel does not provide a usable symlink API.

(cherry picked from commit 2d18bd1777b8d18a3b855685928dcdafcbe609b8)

18 years agoDEVEL15-vmalloc-no-glock-20070418
Chaskiel M Grundman [Wed, 18 Apr 2007 19:02:47 +0000 (19:02 +0000)]
DEVEL15-vmalloc-no-glock-20070418

Based on Chris Wing's analysis which stated in part:
GFP_NOFS tells the allocator not to recurse back into the filesystem if it's
necessary to free up memory.  However, vmalloc() does not have such an
option.  Therefore, calling osi_Alloc() to request more than a page of
memory may end up recursing back into AFS to try to free unused inodes or
dentries.

In this case, what happened was that osi_Alloc() is called within an
AFS_GLOCK(); osi_Alloc() calls vmalloc() which tries to free dentry objects,
which then calls back into the AFS module.  Unfortunately, AFS_GLOCK() is
already held and we deadlock.

(cherry picked from commit 9943fe1fd71fc29331dcac7cd6a51bd37f307876)

18 years agoDEVEL15-windows-version-20070418
Jeffrey Altman [Wed, 18 Apr 2007 17:10:27 +0000 (17:10 +0000)]
DEVEL15-windows-version-20070418

1.5.1900

18 years agoDEVEL15-windows-notes-20070418
Jeffrey Altman [Wed, 18 Apr 2007 17:08:29 +0000 (17:08 +0000)]
DEVEL15-windows-notes-20070418

1.5.19