[OpenAFS] Problem with openafs-1.3.81 on kernel 2.6.11.7

Kris Van Hees aedil-afs@alchar.org
Thu, 14 Apr 2005 10:46:47 -0400


On Thu, Apr 14, 2005 at 10:34:09AM -0400, chas williams - CONTRACTOR wrote:
> In message <20050414080452.GA709@afs.mcc.ac.uk>,Dr A V Le Blanc writes:
> >     kernel: afs: failed to store file (partition full)
> >     AFS_VMA_CLOSE(8072): Skipping Already locked vcp=de257f38 vmap=de257f48
> 
> seems like bad news.

I am almost willing to bet that the cache partition in this case is ext3 or
any other jfs.  If that is the case, this is most likely the same problem as
what I reported in OpenAFS RT ticket #17559.  I am working on implementing the
fix for that (Chas: the stuff you and I emailed about a while ago), and will
throw that in the ticket as soon as I have it tested.  In short: mark the inode
as requiring a sync prior to doing the truncate, and turn that back off after
the truncate.  That forces the jfs layer to flush the journal prior to returning
from the truncate operation.

The problem is that AFS thinks that as soon as it truncates a cache file, that
space is available for allocation.  But with jfs, that space is *not* available
until after the truncation has been commited to the journal.  When you are
pushing the limits of the cache (e.g. pushing more data through it than the
size of the cache itself), this problem can show up.

	Kris