dynamic-root-allocate-space-for-dot-and-dotdot-20011102
authorNickolai Zeldovich <kolya@mit.edu>
Fri, 2 Nov 2001 21:00:41 +0000 (21:00 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 2 Nov 2001 21:00:41 +0000 (21:00 +0000)
no space was being allocated for . and ..; do so

src/WINNT/afsd/cm_freelance.c
src/afs/afs_dynroot.c

index 26d3c1f..9f82b1c 100644 (file)
@@ -82,7 +82,9 @@ void cm_InitFakeRootDir() {
        int curDirEntryInPage = 0;
        int sizeOfCurEntry;
        int dirSize;
-       
+
+       /* Reserve 2 directory chunks for "." and ".." */
+       curChunk += 2;
 
        while (curDirEntry!=cm_noLocalMountPoints) {
                sizeOfCurEntry = cm_NameEntries((cm_localMountPoints+curDirEntry)->namep, 0);
index bba3d42..64096a8 100644 (file)
@@ -229,6 +229,9 @@ afs_RefreshDynroot()
     curChunk = 13;
     curPage = 0;
 
+    /* Reserve space for "." and ".." */
+    curChunk += 2;
+
     for (cellidx = 0; cellidx < maxcellidx; cellidx++) {
        c = afs_GetCellByIndex(cellidx, READ_LOCK, 0 /* don't refresh */);
        if (!c) continue;