[OpenAFS-devel] vmalloc failure in afs_CheckVolumeNames...

Neulinger, Nathan nneul@umr.edu
Mon, 3 May 2004 08:08:33 -0500


This looks like another one of the 'large allocation' spots that Chas
was talking about.

May  2 22:35:07 gpunix2 kernel: afs_osi_Alloc: Can't vmalloc 116656
bytes.
May  2 22:35:07 gpunix2 kernel: assertion failed: volumeID, file:
/umr/s/openafs/openafs/src/afs/afs_volume.c, line: 258
May  2 22:35:07 gpunix2 kernel: Unable to handle kernel paging request
at virtual address ffffffff
May  2 22:35:07 gpunix2 kernel:  printing eip:


This happened to be on a memory cache based machine... Here's the
allocation point:

    if (flags & AFS_VOLCHECK_EXPIRED) {
        /*
         * allocate space to hold the volumeIDs and cellIDs, only if
         * we will be invalidating the mountpoints later on
         */
        for (i =3D 0; i < NVOLS; i++)
            for (tv =3D afs_volumes[i]; tv; tv =3D tv->next)
                ++vsize;

        volumeID =3D (afs_int32 *) afs_osi_Alloc(2 * vsize *
sizeof(*volumeID));
        osi_Assert(volumeID);

        cellID =3D (volumeID) ? volumeID + vsize : 0;
    }

-- Nathan

------------------------------------------------------------
Nathan Neulinger                       EMail:  nneul@umr.edu
University of Missouri - Rolla         Phone: (573) 341-6679
UMR Information Technology             Fax: (573) 341-4216