[squid-users] Aufs, missing object files and recovery

From: Pauli Borodulin <boro@dont-contact.us>
Date: Sun, 23 Mar 2003 00:05:03 +0200

After upgrading to 2.5-serie, I've seen some error messages in my
cache.log regarding to aufs. Here's one:

     storeAufsOpenDone: (2) No such file or directory
         /usr/squid/cache2/0C/62/000C62CB

I presume (after reading some source code) that this is reported because
  Squid couldn't find stored object on the disk with the name that it's
stored with in the object pool (or whatever it's called).

IMO this shouldn't happen, because if Squid was shut down correctly, all
objects stored on the disk should still exist there. Even if Squid was
shut down incorrectly (killed or it crashed), Squid checks the object
pool (disk swap) on startup and removes faulty objects (am I correct?).

Anyways, this error is reported in src/fs/aufs/store_io_aufs.c in
function storeAufsOpenDone which is called "from" aioOpen after trying
to open the object on the disk:

     aioOpen(path, O_RDONLY | O_BINARY, 0644, storeAufsOpenDone, sio);

Then, in storeAufsOpenDone Squid checks if opening succeeded:

     if (errflag || fd < 0) {
         errno = errflag;
         debug(79, 0) ("storeAufsOpenDone: %s\n", xstrerror());
         debug(79, 1) ("\t%s\n",
             storeAufsDirFullPath(INDEXSD(sio->swap_dirn),
             sio->swap_filen, NULL));
         storeAufsIOCallback(sio, DISK_ERROR);
         return;
     }

The thing I'm concerned about here is that does storeAufsOpenDone (or
some other function) remove this faulty object from the object pool so
that it doesn't prevent caching it later?

I'm going to delete my current Squid's disk cache later to check if this
behaviour continues.

-- 
Pauli Borodulin
boro@fixel.org
Received on Sat Mar 22 2003 - 15:05:02 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 17:14:18 MST