FIXES 25647
don't do lookups on the wrong vnode, if it's a mvstat=1 vnode, it's not useful
(cherry picked from commit a784c131709a8252fa1e8cb4ce49cb0c655dd7aa)
The Integrated Logon hack of setting a token for a smb name different
than the one associated with the current smb session fails when smb
virtual circuits, sessions and username objects are properly reference
counted. When refcounts are not leaked the constructed smb_username_t
is destroyed immediately after the token is set since there are not
references to it from a current session.
The fix is to mark the smb_username_t object with a flag indicating that
it was created by the Network Provider. This flag prevents the destruction
when the refcount is zero so that it will be available at the time the
smb session is created (just a moment or two later.) During the binding
of the smb_username_t to the smb_vc_t the flag is cleared allowing the
tokens to be destroyed when the smb session is closed.
(cherry picked from commit 70b76b3a1cff1dabe9b10b8222cd84fc207b6704)
In smb_ReceiveNTCreateX the lock check, cm_CheckNTOpen(), must take place
before we allow the file to be truncated.
(cherry picked from commit d921ee381aa46e4385524f0c31ca5ad606aa920a)
FIXES 22260
allow newvcache to fail without ooping
sort of nasty, if you want more vcaches, say so.
(cherry picked from commit c19324c8574c66f18cd18f2df4beb486460205aa)
another location where EHOSTUNREACH can be returned
such that we can timeout the request immediately
(cherry picked from commit f7b9cd54e50e553486c2ad850df1a8ecaee0d954)
This patch fixes several issues:
* the smb virtual circuits can be active and/or dead. this patch
improves the handling of vc's making the transition from active
to dead
* correct the refcounts on the smb_user_t and smb_vc_t objects
* replace the deprecated GetCurrentTime() with GetTickCounts() which
is the new name. This function needs to be replaced with something
else because its return value wraps after 49.7 days
* hold the correct locks when adjusting the scp->fileLocksH queue
(cherry picked from commit 880a6b66a5477e092d5bb74febbf24639d786c64)
move allocations for SYS_NAME_ID_amd64_w2k and SYS_NAME_ID_i64_w2k to avoid
conflicts
(cherry picked from commit fb6d1dacfc256386f32f59fe4335b546a7d368c3)
the smb_username_t objects are reference counted but they were never
released on their own accord. Instead the smb_uid_t objects when
released were also cleaning up the smb_username_t. Since the smb_username_t
is reused, now that smb_user_t objects are being cleaned up, this was
a problem.
(cherry picked from commit a9df3ca715f483a31c14b72bae3f548a4c9291d4)
When SMB sessions are prematurely terminated as part of the tear down
of the virtual circuit we must clean up any remaining file handles,
tree connections, and user sessions.
(cherry picked from commit 78c40badbd8c65d82f6c384fdff8056c03100b67)
* Update architectural documentation
* Allow locks to be obtained as soon as it is possible instead of
enforcing a requirement that locks be granted in order.
* Fix other bugs
* Disable byte range lock processing
(cherry picked from commit f057d9515c72609e4ca9e51ff96f658689679497)
don't improperly enforce read attribute restriction on child instead of parent
when it's a directory
avoid screwing ourselves on mode 0 files, also
(cherry picked from commit e07a781b20272a629f73cf8b2377ee8e3bd6cd99)
Add man pages for rxgen and cmdebug. The cmdebug man page was written from
scratch based on the source code. The rxgen man page is a conversion of an
old TeX document to POD.
(cherry picked from commit 8863143052cb1a60de4fe90c1617df0bb3eca931)
Add new man pages for livesys and voldump. Fix the man page for sys to say
what it actually does, rather than implying that it works like livesys, and
to recommend livesys instead. Fix a path error in the NetInfo
documentation. Update the README for the current status, including
listing all installed commands that don't have man pages. (There may still
be some subcommands that don't have man pages but aren't listed.)
(cherry picked from commit 90bc5c0092652b047c4eabffb5577e05859c80f4)
On installation, substitute the configured paths into the man pages,
replacing the Transarc paths. Also fix a problem with the way that
pinstall was being used to install man pages. (Silly me, I was assuming
it had the same behavior as install.)
This is just a quick first pass. Longer term, it's probably better to
replace all paths in the man pages with unambiguous tokens and then
replace those tokens instead of assuming that the man pages use Transarc
paths and replacing those paths specifically. The current method has a
few minor problems, such as not being able to distinguish between the
various paths that make up /usr/afs/bin. Still, the results of this method
are good enough to start with.
(cherry picked from commit 5fde2994348d1c7f6239f98aac355011125b06ad)
Remove all trailing whitespace while we have the chance and there are no
merge issues yet.
(cherry picked from commit 160854bd2bd9994b615216c566473598e871d13b)
Move man page generation out into a separate script that's just invoked
from regen.sh, so that someone can run that separate script later if they
wish. Make that script more robust against problems such as empty podN
directories. Diagnose a missing pod2man and warn about old versions of
Pod::Man.
Also, remove the old programs used to do the initial conversion from HTML.
Enough post-conversion editing was done that they're no longer necessary
except for historical curiosity, and for that purpose they can be pulled
out of CVS.
(cherry picked from commit 0b21e24d0a96401033d55d3c079c954138b7c50e)
These can go now that we have POD versions of, in most cases, newer
versions of the same documentation.
(cherry picked from commit 5d2b5780c463af51ffa264386daff210c633263f)
This completes the first editing pass of the man pages. Very little
content editing has been done, but the server and client versions of
various man pages have been combined into a single man page for the
file (affects CellServDB, ThisCell, NetInfo, and NetRestrict), the
descriptions of the various AFS cache files have been combined into one
afs_cache man page, and the descriptions of the two butc log files have
been combined into one butc_logs man page.
For man pages for databases with two files, symlinks are now created on
installation for the secondary file name.
All of the man pages should now be ready for public review, additional
editing and cleanup, and content editing.
(cherry picked from commit f64a78e7013ebafd9ce4a0a50822a6087ff62f6c)
This completes the initial editing pass of the section eight man pages.
Only small amounts of content editing has been done. Some known problems
have been noted in README, but there will doubtless be others, as well as
some lingering formatting problems. However, the quality should now be
good enough for general public review.
Some of the section eight man pages were really supposed to be section one,
the package apropros and package help commands are too useless to document,
and a few of the difficult-to-name section five man pages have now acquired
names.
RCS file: /cvs/openafs/doc/man-pages/pod8/Attic/package_apropos.pod,v
Working file: doc/man-pages/pod8/package_apropos.pod
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 0
description:
RCS file: /cvs/openafs/doc/man-pages/pod8/Attic/package_help.pod,v
Working file: doc/man-pages/pod8/package_help.pod
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 0
description:
RCS file: /cvs/openafs/doc/man-pages/pod8/Attic/package_test.pod,v
Working file: doc/man-pages/pod8/package_test.pod
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 0
description:
RCS file: /cvs/openafs/doc/man-pages/pod8/Attic/tapeconfig.pod,v
Working file: doc/man-pages/pod8/tapeconfig.pod
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 0
description:
RCS file: /cvs/openafs/doc/man-pages/pod8/Attic/xstat_cm_test.pod,v
Working file: doc/man-pages/pod8/xstat_cm_test.pod
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 0
description:
RCS file: /cvs/openafs/doc/man-pages/pod8/Attic/xstat_fs_test.pod,v
Working file: doc/man-pages/pod8/xstat_fs_test.pod
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 4; selected revisions: 0
description:
(cherry picked from commit ab4abf15fef60308b982c73b6d1a17fa60577120)
Initial documentation for the man page project, including initial notes
on conversion, a start at a formatting guide, information on how to
contribute, and an initial issues list of things I happened to notice
while editing the section one pages.
(cherry picked from commit d60224477f13bbf6a16d9582040e38d539859518)
Generate the man pages in man1, man5, and man8 subdirectories rather than
directly in the doc/man-pages directory to reduce clutter. Add a
.cvsignore to reduce noise.
(cherry picked from commit 7b5bfb1c1793c488fff06fc9014119a286ec86a7)
This file got the wrong name when it was originally committed. Fix.
RCS file: /cvs/openafs/doc/man-pages/pod5/Attic/afsmonitor.5,v
Working file: doc/man-pages/pod5/afsmonitor.5
head: 1.2
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 2; selected revisions: 0
description:
(cherry picked from commit 03b9fcc8834bfaaac069b27c0cd919934b68e833)
This is the initial conversion of the AFS Adminstrators Reference into POD
for use as man pages. The man pages are now generated via pod2man from
regen.sh so that only those working from CVS have to have pod2man
available. The Makefile only installs. The pages have also been sorted
out into pod1, pod5, and pod8 directories, making conversion to the right
section of man page easier without maintaining a separate list and allowing
for names to be duplicated between pod5 and pod1 or pod8 (which will likely
be needed in a few cases).
This reconversion is done with a new script based on work by Chas Williams.
In some cases, the output is worse than the previous POD pages, but this is
a more comprehensive conversion.
This is only the first step, and this initial conversion has various
problems. In addition, the file man pages that didn't have simple names
have not been converted in this pass and will be added later. Some of the
man pages have syntax problems and all of them have formatting errors. The
next editing pass, coming shortly, will clean up most of the remaining
mess.
(cherry picked from commit e3dfba8e6c10c296c09e9b0ac0c0355658ce0be7)