This patch applies all of the work done to add persistent cache support,
cache manager debugging, and a variety of bug fixes. A full description
will be committed within doc/txt/winnotes as part of a later commit.
(cherry picked from commit 0b90d69f8a44e6c7ba20553cfb7d5cf7072bab57)
FIXES 17792
"The attached patch
1) makes afs_linux_writepage_sync do the required lock_kernel and
AFS_GLOCK()'s instead of making the caller do it.
2) removes the 2.4+ afs_linux_updatepage wrapper function which just calls
afs_linux_writepage_sync and is only called by afs_linux_commit_write
3) removes the kmap/kunmap in afs_linux_{prepare,commit}_write on 2.6
since the caller of afs_linux_{prepare,commit}_write
(do_generic_file_write) does the kmap/kunmap itself, and has since before
2.4.19 (early 2.4's do require it, and it doesn't break anything to do it
twice, so !defined(AFS_LINUX26_ENV) is appropriate)"
(cherry picked from commit e9084af7bfe8ef50e4ebbc57b580b8f6fffbf230)
with additional fix from jaltman for case where we need to get a fresh fe.
don't reuse FE_LATER file entries.
(cherry picked from commit c9b63162b696589b6772847038f73bfd5d1df896)
smb3.c: another fix for pattern matching. Patterns can include '<' and '>'
instead of '*' and '?'. Treat any pattern with angle bracket as
star patterns
afslogon.c: instead of retrying the username lowercased if it is all
uppercased. retry the username lowercased if it was not already
lowercased. this captures the mixedcase username case.
afskfw.c: If Leash is configured to not import tickets from the MSLSA,
neither should we.
cm_vnodeops.c: If the second to last component of a path is a symlink and
the last component cannot be found, return NOSUCHPATH instead of
FILE_NOT_FOUND.
(cherry picked from commit 641c2b17efbffa523818a950761e612e9fc6f5f7)
afskfw.c: fix cross-realm token acquisition in ANDREW vs CS CMU case
cm_aclent.c: when ACL's timeout, remove them from the associated
cm_scache_t object's randomACL list and place them on the end
of the ACL LRU queue
correct tgtLifetime to be unsigned
smb3.c: fix case sensitive matching
(cherry picked from commit 09feb1be1711dbbe053b572915df4384f488eb0e)
mem* funcs now declared in sys/systm.h with a different prototype so there's a conflict. (but delcared means they exist, so this is fine)
(cherry picked from commit c92132eba3250d3ef3647b578a363be970496597)
don't VOP_INACTIVE if we intend to keep using the inode, the refcount will go
bogus
(cherry picked from commit a6f560b80575a246b4ee347622f1fd3f6fdd1420)
* The list of ACL entries was becoming corrupted because the function
which obtained a free entry was doing so without the appropriate lock
being held.
* Changed the default @sys name list to "x86_win32 i386_w2k i386_nt40"
for 32-bit x86 systems. The default for itanium will be "ia64_win64"
and "amd64_win64" for amd 64-bit processors.
(cherry picked from commit 516614090190f34cb74ec741cf06f86384bff4d1)
The list of ACL entries was being corrupted because the function
which obtains a free ACL entry was doing so without the appropriate
lock being held.
Returning Not A Directory is not the right thing to do when we are
attempting to resolve a path if the error is found on one of the
intermediary path components. Instead return No Such Path or
No Such File as appropriate.
(cherry picked from commit ff3436446e1c8447d0f9703b088c6d65c6845aa0)
compare vattrs against VNOVAL, not -1
fixes mode setting now that modes are 32 bits
(cherry picked from commit e86eb73e30fe492c8be99a0a7a4788ec1b136ead)