linux-alloc-dont-drop-what-you-dont-have-20020801

avoid trying to drop a glock we don't have
This commit is contained in:
Chas Williams 2002-08-01 17:11:35 +00:00 committed by Derrick Brashear
parent fb6d2422f3
commit 9e06544249

View File

@ -80,6 +80,7 @@ static void *linux_alloc(unsigned int asize, int drop_glock)
{
void *new = NULL;
int max_retry = 10;
int haveGlock = ISAFS_GLOCK();
/* if we can use kmalloc use it to allocate the required memory. */
while(!new && max_retry)
@ -106,9 +107,9 @@ static void *linux_alloc(unsigned int asize, int drop_glock)
#else
current->state = TASK_INTERRUPTIBLE;
#endif
if (drop_glock) AFS_GUNLOCK();
if (drop_glock && haveGlock) AFS_GUNLOCK();
schedule_timeout(HZ);
if (drop_glock) AFS_GLOCK();
if (drop_glock && haveGlock) AFS_GLOCK();
#ifdef set_current_state
set_current_state(TASK_RUNNING);
#else