LICENSE IPL10
this is sort of a dumb ifdef. harmless, but fix it to be what it's supposed to
(cherry picked from commit 4d7cfa129353001759c6224cc5c590be7e043fe9)
LICENSE IPL10
FIXES 107258
when giving back a volume after reclone, make it inService to avoid a race
between callers and the SetFlags RPC
(cherry picked from commit b4ce530d365e97342a92f4a8d59de12b0570c699)
LICENSE IPL10
The volume state is perfectly consistent. FSYNC_NEEDVOLUME (and the
other state in the pending_vol_op object) is perfectly normal -- it
simply means the volser has exclusive access to the volume for the
purposes of cloning. The bug is that during the DAFS development, I
changed the semantics of the VGetVolume interface without updating the
control logic in afsfileprocs accordingly:
In 1_4_x:
vp->specialstatus != 0 results in returning vp with nUsers incremented
and *ec = vp->sepcialstatus
In DAFS:
V_AttachState(vp) == VOL_STATE_UNATTACHED results in returning a NULL
vp. Since (vp->specialstatus != 0), *ec = vp->specialstatus.
The net result is we need to modify the VBUSY logic in CheckVnode().
(cherry picked from commit 5c762d3b7672a88fcf4df85e919ac11be7946d4f)
LICENSE IPL10
VOL_STATE_SALVSYNC_REQ is a mutally exclusive state. don't allow other things
to attempt to trigger that state when an exclusive state is already present
(cherry picked from commit f52f1522367819712ea678b4e3cdf4644571fc57)
LICENSE IPL10
FIXES 74672
when renaming causes a dentry to be newer than its parent we handled it
incorrectly. zero the d_time to force correct evaluation to happen.
(cherry picked from commit 9f3629b018f9d25b205f911464789ed0a14103b4)
LICENSE IPL10
FIXES 102673
if we're building for 2.4.x we need to disable fedorakmod. do so here in our
packaging.
(cherry picked from commit 9946c027a33b89cdf128748b9fd3000b31bee48f)
LICENSE IPL10
FIXES 105457
move the init_mm ifdef down far enough that it's effective and we actually
probe to be able to hook syscall table
(cherry picked from commit a4e3fb21f0fd8f02ffd2c01b4d39ac55cd3474b1)
LICENSE IPL10
FIXES 104698, 104699, 104305
make cellname get init'd right. correct startup argument order to match
what afsd does. call lookupname correctly (when did this break?)
at the same time, move the lookupname define out of afs_osi.h and into each
osi_machdep.h
(cherry picked from commit c61a8f37c9957034961aed8abc2a1adb046247d3)
LICENSE IPL10
FIXES 105231
update specfile for new manpages.
update patch for 1.5.x/head
update makesrpm to quote some arguments to system so perl doesn't eat them
some rewriting from shadow@dementia.org including the patch update
(cherry picked from commit 0d343077ac1ca8bd35921de2a2b19cac4eb75496)
LICENSE IPL10
return 0 and not tbuffer on success since tbuffer is already returned via
a pointer
(cherry picked from commit 19551ae3a541644013f6e9e92d9354ec14cbc00e)
LICENSE IPL10
FIXES 105109
exportfs - NFS translator:
- The exportfs code is updated for the new export ops. The changes are made
conditional on a new configure test that detects the new ops. fh_to_dentry()
basically replaces decode_fh and uses our own get_dentry function instead of the
now defunct find_exported_dentry.
- A check for fh_len=4 is removed - in testing this value is always 6, possibly
because of changes in the kernel code.
- The check for authtab in osi_nfssrv.c assumes that an undefined weak symbol is
0. On my system, an unresolved weak symbol in a loaded module gets the value
0xfffffffe (-2 or -ENOENT) - again, probably a change on the kernel side. Check
that the pointer is not an error constant using IS_ERR().
- In osi_vfsops.c, only use the export_ops bits if building the translator
afspag: the problem here was dealing with unresolved symbols
- afs_showflags is redefined in afs_pag_call.c so it's available for the afspag
module
- A new source file afs_warn.c gets the afs_warn* functions from afs_util.c.
This allows the afspag module to get the afs_warnuser function without dragging
in too many symbols. The new file is attached separately.
other:
- d_path() now takes a struct path argument - includes a new configure test
- osi_vfsmnt -> osi_vfsmount in osi_misc.c Looked like a typo?
- reorder the remove_proc_entry() calls - we need to remove the children before
the parent (introduced with my earlier patch)
(cherry picked from commit daf6b1cf282c895bb7cd3cb090e5bee06648cd16)
LICENSE IPL10
FIXES 104732
use NULL and not (void *)0 to avoid issues on 64 bit platforms
(cherry picked from commit e22a5cc8afe889d5d76ecf44a63860e12f1effbf)
LICENSE MIT
When an SMB virtual circuit is prematurely closed due to an error
condition by one thread it is possible that there are still several
other threads still using the VC which will determine that the VC
is dead shortly. As a result we maintain a dead vc list to ensure
that dead vcs are not destroyed while still in use.
With the addition of locking though this causes a problem because the
locks allocated to the virtual circuit are not freed until the vc is
destroyed.
This patch reworks the cleanup routine to make the freeing of resources
the responsibility of the release routine when the refcount hits 0
and the VC is marked dead.
(cherry picked from commit 49db6afe0aeb646d712a5319a7ea1a511f66f298)
LICENSE MIT
When constructing the shortname keyed entry in the tree, make
sure that the original long name is preserved.
(cherry picked from commit b5d888ed404840e5a25a26880daaf47ab415b282)
LICENSE MIT
It is frequently the case that rx_getAllAddr() is called before
rx_Init() or rx_InitHost(). rx_getAllAddr() obtains the list of
interfaces by using rx_GetIFInfo() which in turn computes and
allocates the number of addition rx packets. Unfortunately,
rxi_MorePackets() relies on the existence of an initialized mutex
and the mutex is not initialized (on Windows) until the rx_InitHost()
call. Therefore, we must delay the rxi_MorePackets() call until
after rx_InitHost() if rx_getAllAddr() is called previously.
Failure to do so results in a panic.
(cherry picked from commit 749ae65481ebc70f310fdd79d2cb0139a636f27e)
LICENSE MIT
Add lock assertions to various functions.
Obtain a missing lock around a call to cm_RemoveSCacheFromHashTable().
Correct an abstraction layer violation. cm_scache_t objects should
be marked deleted in cm_Unlink() and cm_RemoveDir() and not in
smb_CloseFID(). Cleanup of deleted cm_scache_t objects should be
performed in cm_ReleaseSCache() when the reference count hits zero.
Prototype cm_AdjustScacheLRU() and re-implement it using osi_QAddH().
(cherry picked from commit 52490d7968c2008912ab0887bdcde7fbba43b837)
LICENSE MIT
Use afsd_logp instead of smb_logp in osi_LogX() calls.
Do not violate layer abstraction.
(cherry picked from commit 3306c0887b62ca940808174906c2579b3b7d939a)
LICENSE MIT
If the attempt to write the buffer returns access denied, store that
in the cm_buf_t object so that the error can be propagated.
(cherry picked from commit 15ff831e4dfa8d2942536d002b86579f6128a5df)
LICENSE MIT
Prevent corruption of the cm_data.scacheHashTablep lists when removing
and then re-adding entries to the hash table. The cm_scache_t nextp
fields were not being reset to NULL which permitted loops to be created.
(cherry picked from commit ef48d6343d9ac929a4a2ae88184f7801ace1e3d1)
LICENSE MIT
when deleting entries from a directory for items with non-8.3 names
memory for the longname field would be leaked. don't do that.
(cherry picked from commit 39d2ac1438c5708dc64098e5de10cd55efd6e93b)
LICENSE MIT
%T is not portable to Windows. Replace it with the equivalent %H:%M:%S
format string.
(cherry picked from commit 11350e8024c8413dab5f91cfcd2155d26356329f)
LICENSE IPL10
protects against direct loops, which we have seen in the wild, but not more (yet)
(cherry picked from commit e2ce8710efc93f7172b9d4daaf685c6f2669f7c3)
LICENSE BSD
Add documentation of foreign realm user registration and cross-realm PTS
groups. Add documentation of missing ptserver flags. Add some additional
to-do entries for the man pages.
(cherry picked from commit 1fdfac7065b85feafcfa3f9fc382cfd90680d67f)
LICENSE IPL10
FIXES 100836
official mountpoints end in a .; treat others as symlinks to avoid creating
files which can't be removed
(cherry picked from commit 0da0a9d4d2e5b2d39495e57b9840ce0acdd961e2)