On 4/5/2012 9:08 AM, Jeffrey Altman wrote:
> As I said, the AFS redirector is reporting the over quota
> condition as part of the response to the CloseHandle() call.
> Explorer does not call FlushFile() before CloseHandle() knowing
> that CloseHandle() will flush the file to disk.
> 
> I will think about this some more and see if I can come up
> with something.  The problem is that Windows is storing the
> data into the Windows page cache prior to the AFS redirector
> being asked to allocate space.  Once we are asked, we fail it
> but by then it is too late.

Following up to this thread.  1.7.9 implements two changes:

 1. Every extension of a the file length beyond the file length
    reported by the file server in the most recent status report
    is checked for free space by the cache manager prior to
    succeeding the extension in the cache.

 2. A bug in the afs redirector was fixed that prevented up to
    date free space information from being received by applications.

A related bug in the file server was discovered by Richard Brittain.
File servers with partitions larger than 2^31 1K blocks will overflow
the partition size fields reported by the file server.  We thought this
had been fixed years ago in 1.4 by capping the maximum reported value.
Unfortunately, the cap applied was (2^32 - 1) instead of (2^31 - 1).
The overflow can result in negative free space values being reported to
the client that blocks all writing.  The issue was discovered too late
for 1.6.1.   The fix, http://gerrit.openafs.org/#change,7023, has been
merged into the tree.

Jeffrey Altman


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to