Windows: Add Hard Link support to AFS Redirector
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 17 Nov 2012 03:27:02 +0000 (22:27 -0500)
committerJeffrey Altman <jaltman@your-file-system.com>
Sat, 24 Nov 2012 03:23:44 +0000 (19:23 -0800)
commit2b86ae33fead57696488e4b8c425cf8ae1bdd0f1
tree76c2d9131c9677f831db626c65f46dc91898bd22
parentc3ed4794c1ed7db14b67eb0c3bb65c1aed18ff35
Windows: Add Hard Link support to AFS Redirector

Both Windows and AFS support the notion of hard links to files.
Add an implementation to the AFS redirector.  The body of the
functionality and the IOCTL to the service permits the specification
of hard links to files across directory boundaries.  There is a
restriction within AFSSetFileLinkInfo() which prevents cross-directory
requests.  However, this can be taken out if AFS ever permits them.

Decrement object information link counts on directory entry
deletions.  Do not delete object information context blocks if the
link count is greater than 0.  Increment link counts when hard
links are added.

A subsequent patchset will implement the afsd_service support.

Change-Id: Iffabf480c0b43ab76feb5bdf3464a0bf1324e642
Reviewed-on: http://gerrit.openafs.org/8481
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsrdr/common/AFSRedirCommonDefines.h
src/WINNT/afsrdr/common/AFSUserDefines.h
src/WINNT/afsrdr/common/AFSUserStructs.h
src/WINNT/afsrdr/kernel/lib/AFSCommSupport.cpp
src/WINNT/afsrdr/kernel/lib/AFSFileInfo.cpp
src/WINNT/afsrdr/kernel/lib/AFSVolumeInfo.cpp
src/WINNT/afsrdr/kernel/lib/Include/AFSCommon.h