Lines Matching refs:pInode
39103 unixInodeInfo *pInode; /* Info about locks on this inode */ member
40087 assert( pFile->pInode ); in unixFileMutexHeld()
40088 return sqlite3_mutex_held(pFile->pInode->pLockMutex); in unixFileMutexHeld()
40091 assert( pFile->pInode ); in unixFileMutexNotheld()
40092 return sqlite3_mutex_notheld(pFile->pInode->pLockMutex); in unixFileMutexNotheld()
40201 unixInodeInfo *pInode = pFile->pInode; in closePendingFds() local
40205 for(p=pInode->pUnused; p; p=pNext){ in closePendingFds()
40210 pInode->pUnused = 0; in closePendingFds()
40220 unixInodeInfo *pInode = pFile->pInode; in releaseInodeInfo() local
40223 if( ALWAYS(pInode) ){ in releaseInodeInfo()
40224 pInode->nRef--; in releaseInodeInfo()
40225 if( pInode->nRef==0 ){ in releaseInodeInfo()
40226 assert( pInode->pShmNode==0 ); in releaseInodeInfo()
40227 sqlite3_mutex_enter(pInode->pLockMutex); in releaseInodeInfo()
40229 sqlite3_mutex_leave(pInode->pLockMutex); in releaseInodeInfo()
40230 if( pInode->pPrev ){ in releaseInodeInfo()
40231 assert( pInode->pPrev->pNext==pInode ); in releaseInodeInfo()
40232 pInode->pPrev->pNext = pInode->pNext; in releaseInodeInfo()
40234 assert( inodeList==pInode ); in releaseInodeInfo()
40235 inodeList = pInode->pNext; in releaseInodeInfo()
40237 if( pInode->pNext ){ in releaseInodeInfo()
40238 assert( pInode->pNext->pPrev==pInode ); in releaseInodeInfo()
40239 pInode->pNext->pPrev = pInode->pPrev; in releaseInodeInfo()
40241 sqlite3_mutex_free(pInode->pLockMutex); in releaseInodeInfo()
40242 sqlite3_free(pInode); in releaseInodeInfo()
40264 unixInodeInfo *pInode = 0; /* Candidate unixInodeInfo object */ in findInodeInfo() local
40314 pInode = inodeList; in findInodeInfo()
40315 while( pInode && memcmp(&fileId, &pInode->fileId, sizeof(fileId)) ){ in findInodeInfo()
40316 pInode = pInode->pNext; in findInodeInfo()
40318 if( pInode==0 ){ in findInodeInfo()
40319 pInode = sqlite3_malloc64( sizeof(*pInode) ); in findInodeInfo()
40320 if( pInode==0 ){ in findInodeInfo()
40323 memset(pInode, 0, sizeof(*pInode)); in findInodeInfo()
40324 memcpy(&pInode->fileId, &fileId, sizeof(fileId)); in findInodeInfo()
40326 pInode->pLockMutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); in findInodeInfo()
40327 if( pInode->pLockMutex==0 ){ in findInodeInfo()
40328 sqlite3_free(pInode); in findInodeInfo()
40332 pInode->nRef = 1; in findInodeInfo()
40334 pInode->pNext = inodeList; in findInodeInfo()
40335 pInode->pPrev = 0; in findInodeInfo()
40336 if( inodeList ) inodeList->pPrev = pInode; in findInodeInfo()
40337 inodeList = pInode; in findInodeInfo()
40339 pInode->nRef++; in findInodeInfo()
40341 *ppInode = pInode; in findInodeInfo()
40350 return pFile->pInode!=0 && pFile->pId!=pFile->pInode->fileId.pId; in fileHasMoved()
40353 return pFile->pInode!=0 && in fileHasMoved()
40355 || (u64)buf.st_ino!=pFile->pInode->fileId.ino); in fileHasMoved()
40411 sqlite3_mutex_enter(pFile->pInode->pLockMutex); in unixCheckReservedLock()
40414 if( pFile->pInode->eFileLock>SHARED_LOCK ){ in unixCheckReservedLock()
40421 if( !reserved && !pFile->pInode->bProcessLock ){ in unixCheckReservedLock()
40436 sqlite3_mutex_leave(pFile->pInode->pLockMutex); in unixCheckReservedLock()
40505 unixInodeInfo *pInode = pFile->pInode; in unixFileLock() local
40506 assert( pInode!=0 ); in unixFileLock()
40507 assert( sqlite3_mutex_held(pInode->pLockMutex) ); in unixFileLock()
40509 if( pInode->bProcessLock==0 ){ in unixFileLock()
40518 pInode->bProcessLock = 1; in unixFileLock()
40519 pInode->nLock++; in unixFileLock()
40603 unixInodeInfo *pInode; in unixLock() local
40610 azFileLock(pFile->pInode->eFileLock), pFile->pInode->nShared, in unixLock()
40634 pInode = pFile->pInode; in unixLock()
40635 sqlite3_mutex_enter(pInode->pLockMutex); in unixLock()
40640 if( (pFile->eFileLock!=pInode->eFileLock && in unixLock()
40641 (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK)) in unixLock()
40652 (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){ in unixLock()
40655 assert( pInode->nShared>0 ); in unixLock()
40657 pInode->nShared++; in unixLock()
40658 pInode->nLock++; in unixLock()
40683 pInode->eFileLock = PENDING_LOCK; in unixLock()
40692 assert( pInode->nShared==0 ); in unixLock()
40693 assert( pInode->eFileLock==0 ); in unixLock()
40721 pInode->nLock++; in unixLock()
40722 pInode->nShared = 1; in unixLock()
40724 }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){ in unixLock()
40773 pInode->eFileLock = eFileLock; in unixLock()
40777 sqlite3_mutex_leave(pInode->pLockMutex); in unixLock()
40788 unixInodeInfo *pInode = pFile->pInode; in setPendingFd() local
40791 p->pNext = pInode->pUnused; in setPendingFd()
40792 pInode->pUnused = p; in setPendingFd()
40812 unixInodeInfo *pInode; in posixUnlock() local
40818 pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared, in posixUnlock()
40825 pInode = pFile->pInode; in posixUnlock()
40826 sqlite3_mutex_enter(pInode->pLockMutex); in posixUnlock()
40827 assert( pInode->nShared!=0 ); in posixUnlock()
40829 assert( pInode->eFileLock==pFile->eFileLock ); in posixUnlock()
40919 pInode->eFileLock = SHARED_LOCK; in posixUnlock()
40931 pInode->nShared--; in posixUnlock()
40932 if( pInode->nShared==0 ){ in posixUnlock()
40937 pInode->eFileLock = NO_LOCK; in posixUnlock()
40941 pInode->eFileLock = NO_LOCK; in posixUnlock()
40950 pInode->nLock--; in posixUnlock()
40951 assert( pInode->nLock>=0 ); in posixUnlock()
40952 if( pInode->nLock==0 ) closePendingFds(pFile); in posixUnlock()
40956 sqlite3_mutex_leave(pInode->pLockMutex); in posixUnlock()
41030 unixInodeInfo *pInode = pFile->pInode; in unixClose() local
41032 assert( pInode!=0 ); in unixClose()
41041 assert( pFile->pInode->nLock>0 || pFile->pInode->bProcessLock==0 ); in unixClose()
41042 sqlite3_mutex_enter(pInode->pLockMutex); in unixClose()
41043 if( pInode->nLock ){ in unixClose()
41051 sqlite3_mutex_leave(pInode->pLockMutex); in unixClose()
41499 sem_t *pSem = pFile->pInode->pSem; in semXCheckReservedLock()
41552 sem_t *pSem = pFile->pInode->pSem; in semXLock()
41585 sem_t *pSem = pFile->pInode->pSem; in semXUnlock()
41740 sqlite3_mutex_enter(pFile->pInode->pLockMutex); in afpCheckReservedLock()
41742 if( pFile->pInode->eFileLock>SHARED_LOCK ){ in afpCheckReservedLock()
41764 sqlite3_mutex_leave(pFile->pInode->pLockMutex); in afpCheckReservedLock()
41798 unixInodeInfo *pInode = pFile->pInode; in afpLock() local
41804 azFileLock(pInode->eFileLock), pInode->nShared , osGetpid(0))); in afpLock()
41827 pInode = pFile->pInode; in afpLock()
41828 sqlite3_mutex_enter(pInode->pLockMutex); in afpLock()
41833 if( (pFile->eFileLock!=pInode->eFileLock && in afpLock()
41834 (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK)) in afpLock()
41845 (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){ in afpLock()
41848 assert( pInode->nShared>0 ); in afpLock()
41850 pInode->nShared++; in afpLock()
41851 pInode->nLock++; in afpLock()
41877 assert( pInode->nShared==0 ); in afpLock()
41878 assert( pInode->eFileLock==0 ); in afpLock()
41884 pInode->sharedByte = (lk & mask)%(SHARED_SIZE - 1); in afpLock()
41886 SHARED_FIRST+pInode->sharedByte, 1, 1); in afpLock()
41904 pInode->nLock++; in afpLock()
41905 pInode->nShared = 1; in afpLock()
41907 }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){ in afpLock()
41932 pInode->sharedByte, 1, 0)) ){ in afpLock()
41938 SHARED_FIRST + pInode->sharedByte, 1, 1)) ){ in afpLock()
41957 pInode->eFileLock = eFileLock; in afpLock()
41960 pInode->eFileLock = PENDING_LOCK; in afpLock()
41964 sqlite3_mutex_leave(pInode->pLockMutex); in afpLock()
41980 unixInodeInfo *pInode; in afpUnlock() local
41986 pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared, in afpUnlock()
41993 pInode = pFile->pInode; in afpUnlock()
41994 sqlite3_mutex_enter(pInode->pLockMutex); in afpUnlock()
41995 assert( pInode->nShared!=0 ); in afpUnlock()
41997 assert( pInode->eFileLock==pFile->eFileLock ); in afpUnlock()
42016 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1) ){ in afpUnlock()
42018 int sharedLockByte = SHARED_FIRST+pInode->sharedByte; in afpUnlock()
42033 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1)){ in afpUnlock()
42034 pInode->eFileLock = SHARED_LOCK; in afpUnlock()
42043 unsigned long long sharedLockByte = SHARED_FIRST+pInode->sharedByte; in afpUnlock()
42044 pInode->nShared--; in afpUnlock()
42045 if( pInode->nShared==0 ){ in afpUnlock()
42050 pInode->eFileLock = NO_LOCK; in afpUnlock()
42055 pInode->nLock--; in afpUnlock()
42056 assert( pInode->nLock>=0 ); in afpUnlock()
42057 if( pInode->nLock==0 ) closePendingFds(pFile); in afpUnlock()
42061 sqlite3_mutex_leave(pInode->pLockMutex); in afpUnlock()
42078 if( pFile->pInode ){ in afpClose()
42079 unixInodeInfo *pInode = pFile->pInode; in afpClose() local
42080 sqlite3_mutex_enter(pInode->pLockMutex); in afpClose()
42081 if( pInode->nLock ){ in afpClose()
42089 sqlite3_mutex_leave(pInode->pLockMutex); in afpClose()
43179 unixInodeInfo *pInode; /* unixInodeInfo that owns this SHM node */ member
43277 pShmNode = pFile->pInode->pShmNode; in unixShmSystemLock()
43375 unixShmNode *p = pFd->pInode->pShmNode; in unixShmPurge()
43380 assert( p->pInode==pFd->pInode ); in unixShmPurge()
43399 p->pInode->pShmNode = 0; in unixShmPurge()
43519 unixInodeInfo *pInode; /* The inode of fd */ in unixOpenSharedMemory() local
43534 pInode = pDbFd->pInode; in unixOpenSharedMemory()
43535 pShmNode = pInode->pShmNode; in unixOpenSharedMemory()
43572 pDbFd->pInode->pShmNode = pShmNode; in unixOpenSharedMemory()
43573 pShmNode->pInode = pDbFd->pInode; in unixOpenSharedMemory()
43594 if( pInode->bProcessLock==0 ){ in unixOpenSharedMemory()
43698 assert( pShmNode->pInode==pDbFd->pInode ); in unixShmMap()
43699 assert( pShmNode->hShm>=0 || pDbFd->pInode->bProcessLock==1 ); in unixShmMap()
43700 assert( pShmNode->hShm<0 || pDbFd->pInode->bProcessLock==0 ); in unixShmMap()
43866 assert( pShmNode==pDbFd->pInode->pShmNode ); in unixShmLock()
43867 assert( pShmNode->pInode==pDbFd->pInode ); in unixShmLock()
43875 assert( pShmNode->hShm>=0 || pDbFd->pInode->bProcessLock==1 ); in unixShmLock()
43876 assert( pShmNode->hShm<0 || pDbFd->pInode->bProcessLock==0 ); in unixShmLock()
44080 assert( pShmNode==pDbFd->pInode->pShmNode ); in unixShmUnmap()
44081 assert( pShmNode->pInode==pDbFd->pInode ); in unixShmUnmap()
44654 assert( pNew->pInode==NULL ); in fillInUnixFile()
44701 rc = findInodeInfo(pNew, &pNew->pInode); in fillInUnixFile()
44744 rc = findInodeInfo(pNew, &pNew->pInode); in fillInUnixFile()
44778 rc = findInodeInfo(pNew, &pNew->pInode); in fillInUnixFile()
44779 if( (rc==SQLITE_OK) && (pNew->pInode->pSem==NULL) ){ in fillInUnixFile()
44780 char *zSemName = pNew->pInode->aSemName; in fillInUnixFile()
44786 pNew->pInode->pSem = sem_open(zSemName, O_CREAT, 0666, 1); in fillInUnixFile()
44787 if( pNew->pInode->pSem == SEM_FAILED ){ in fillInUnixFile()
44789 pNew->pInode->aSemName[0] = '\0'; in fillInUnixFile()
44944 unixInodeInfo *pInode; in findReusableFd() local
44946 pInode = inodeList; in findReusableFd()
44947 while( pInode && (pInode->fileId.dev!=sStat.st_dev in findReusableFd()
44948 || pInode->fileId.ino!=(u64)sStat.st_ino) ){ in findReusableFd()
44949 pInode = pInode->pNext; in findReusableFd()
44951 if( pInode ){ in findReusableFd()
44953 assert( sqlite3_mutex_notheld(pInode->pLockMutex) ); in findReusableFd()
44954 sqlite3_mutex_enter(pInode->pLockMutex); in findReusableFd()
44956 for(pp=&pInode->pUnused; *pp && (*pp)->flags!=flags; pp=&((*pp)->pNext)); in findReusableFd()
44961 sqlite3_mutex_leave(pInode->pLockMutex); in findReusableFd()
46433 if( conchFile->pInode && conchFile->pInode->nShared>1 ){ in proxyTakeConch()