19 #ifndef PosixAsyncFile_H
20 #define PosixAsyncFile_H
34 #ifdef HAVE_BROKEN_PREAD
37 #elif defined (HAVE_PREAD)
49 virtual bool isOpen();
52 virtual void readvReq(
Request *request);
54 virtual void closeReq(
Request *request);
55 virtual void syncReq(
Request *request);
56 virtual void removeReq(
Request *request);
57 virtual void appendReq(
Request *request);
58 virtual void rmrfReq(
Request *request,
const char * path,
bool removePath);
61 virtual int writeBuffer(
const char * buf,
size_t size, off_t offset);
63 virtual void createDirectories();
71 void* nzfBufferUnaligned;
73 int check_odirect_read(Uint32
flags,
int&new_flags,
int mode);
74 int check_odirect_write(Uint32 flags,
int&new_flags,
int mode);
78 friend struct FileGuard;
80 void init_mutex() { m_mutex = NdbMutex_Create();}
90 if (m_file->getThread() == 0)
92 NdbMutex_Lock(m_file->m_mutex);
96 if (m_file->getThread() == 0)
98 NdbMutex_Unlock(m_file->m_mutex);
104 void destroy_mutex() {}