Lines Matching refs:pFd

2076 static int unixMapfile(unixFile *pFd, i64 nByte);
2077 static void unixUnmapfile(unixFile *pFd);
3698 static int openDirectory(const char *zFilename, int *pFd){ in openDirectory() argument
3715 *pFd = fd; in openDirectory()
4096 static void setDeviceCharacteristics(unixFile *pFd){ in setDeviceCharacteristics() argument
4097 assert( pFd->deviceCharacteristics==0 || pFd->sectorSize!=0 ); in setDeviceCharacteristics()
4098 if( pFd->sectorSize==0 ){ in setDeviceCharacteristics()
4104 res = osIoctl(pFd->h, F2FS_IOC_GET_FEATURES, &f); in setDeviceCharacteristics()
4106 pFd->deviceCharacteristics = SQLITE_IOCAP_BATCH_ATOMIC; in setDeviceCharacteristics()
4111 if( pFd->ctrlFlags & UNIXFILE_PSOW ){ in setDeviceCharacteristics()
4112 pFd->deviceCharacteristics |= SQLITE_IOCAP_POWERSAFE_OVERWRITE; in setDeviceCharacteristics()
4115 pFd->sectorSize = SQLITE_DEFAULT_SECTOR_SIZE; in setDeviceCharacteristics()
4204 unixFile *pFd = (unixFile*)id; in unixSectorSize() local
4205 setDeviceCharacteristics(pFd); in unixSectorSize()
4206 return pFd->sectorSize; in unixSectorSize()
4223 unixFile *pFd = (unixFile*)id; in unixDeviceCharacteristics() local
4224 setDeviceCharacteristics(pFd); in unixDeviceCharacteristics()
4225 return pFd->deviceCharacteristics; in unixDeviceCharacteristics()
4466 static void unixShmPurge(unixFile *pFd){ in unixShmPurge() argument
4467 unixShmNode *p = pFd->pInode->pShmNode; in unixShmPurge()
4472 assert( p->pInode==pFd->pInode ); in unixShmPurge()
4483 robust_close(pFd, p->hShm, __LINE__); in unixShmPurge()
5120 static void unixUnmapfile(unixFile *pFd){ in unixUnmapfile() argument
5121 assert( pFd->nFetchOut==0 ); in unixUnmapfile()
5122 if( pFd->pMapRegion ){ in unixUnmapfile()
5123 osMunmap(pFd->pMapRegion, pFd->mmapSizeActual); in unixUnmapfile()
5124 pFd->pMapRegion = 0; in unixUnmapfile()
5125 pFd->mmapSize = 0; in unixUnmapfile()
5126 pFd->mmapSizeActual = 0; in unixUnmapfile()
5146 unixFile *pFd, /* File descriptor object */ in unixRemapfile() argument
5150 int h = pFd->h; /* File descriptor open on db file */ in unixRemapfile()
5151 u8 *pOrig = (u8 *)pFd->pMapRegion; /* Pointer to current file mapping */ in unixRemapfile()
5152 i64 nOrig = pFd->mmapSizeActual; /* Size of pOrig region in bytes */ in unixRemapfile()
5156 assert( pFd->nFetchOut==0 ); in unixRemapfile()
5157 assert( nNew>pFd->mmapSize ); in unixRemapfile()
5158 assert( nNew<=pFd->mmapSizeMax ); in unixRemapfile()
5160 assert( pFd->mmapSizeActual>=pFd->mmapSize ); in unixRemapfile()
5164 if( (pFd->ctrlFlags & UNIXFILE_RDONLY)==0 ) flags |= PROT_WRITE; in unixRemapfile()
5169 i64 nReuse = pFd->mmapSize; in unixRemapfile()
5172 i64 nReuse = (pFd->mmapSize & ~(szSyspage-1)); in unixRemapfile()
5210 unixLogError(SQLITE_OK, zErr, pFd->zPath); in unixRemapfile()
5215 pFd->mmapSizeMax = 0; in unixRemapfile()
5217 pFd->pMapRegion = (void *)pNew; in unixRemapfile()
5218 pFd->mmapSize = pFd->mmapSizeActual = nNew; in unixRemapfile()
5237 static int unixMapfile(unixFile *pFd, i64 nMap){ in unixMapfile() argument
5238 assert( nMap>=0 || pFd->nFetchOut==0 ); in unixMapfile()
5239 assert( nMap>0 || (pFd->mmapSize==0 && pFd->pMapRegion==0) ); in unixMapfile()
5240 if( pFd->nFetchOut>0 ) return SQLITE_OK; in unixMapfile()
5244 if( osFstat(pFd->h, &statbuf) ){ in unixMapfile()
5249 if( nMap>pFd->mmapSizeMax ){ in unixMapfile()
5250 nMap = pFd->mmapSizeMax; in unixMapfile()
5253 assert( nMap>0 || (pFd->mmapSize==0 && pFd->pMapRegion==0) ); in unixMapfile()
5254 if( nMap!=pFd->mmapSize ){ in unixMapfile()
5255 unixRemapfile(pFd, nMap); in unixMapfile()
5276 unixFile *pFd = (unixFile *)fd; /* The underlying database file */ in unixFetch() local
5281 if( pFd->mmapSizeMax>0 ){ in unixFetch()
5282 if( pFd->pMapRegion==0 ){ in unixFetch()
5283 int rc = unixMapfile(pFd, -1); in unixFetch()
5286 if( pFd->mmapSize >= iOff+nAmt ){ in unixFetch()
5287 *pp = &((u8 *)pFd->pMapRegion)[iOff]; in unixFetch()
5288 pFd->nFetchOut++; in unixFetch()
5307 unixFile *pFd = (unixFile *)fd; /* The underlying database file */ in unixUnfetch() local
5313 assert( (p==0)==(pFd->nFetchOut==0) ); in unixUnfetch()
5316 assert( p==0 || p==&((u8 *)pFd->pMapRegion)[iOff] ); in unixUnfetch()
5319 pFd->nFetchOut--; in unixUnfetch()
5321 unixUnmapfile(pFd); in unixUnfetch()
5324 assert( pFd->nFetchOut>=0 ); in unixUnfetch()