1#ifndef _XRDOSSCSIFILEAIO_H
2#define _XRDOSSCSIFILEAIO_H
139 std::lock_guard<std::mutex> guard(
store_->
mtx_);
167 job_.
Init(file,
this, aiop, isPgOp, isread);
176 std::lock_guard<std::mutex> guard(store->mtx_);
177 if ((p = store->list_)) store->list_ = p->
next_;
245 if (rret == 0)
break;
#define read(a, b, c)
Definition XrdPosix.hh:77
Definition XrdOssCsiFileAio.hh:43
virtual ~XrdOssCsiFileAioJob()
Definition XrdOssCsiFileAio.hh:47
void DoIt()
Definition XrdOssCsiFileAio.hh:69
void Init(XrdOssCsiFile *fp, XrdOssCsiFileAio *nio, XrdSfsAio *aiop, bool isPg, bool read)
Definition XrdOssCsiFileAio.hh:49
@ JobReadStep2
Definition XrdOssCsiFileAio.hh:106
@ JobWriteStep1
Definition XrdOssCsiFileAio.hh:106
@ JobWriteStep2
Definition XrdOssCsiFileAio.hh:106
@ JobReadStep1
Definition XrdOssCsiFileAio.hh:106
XrdOssCsiFileAioJob()
Definition XrdOssCsiFileAio.hh:46
enum XrdOssCsiFileAioJob::@101 jobtype_
XrdOssCsiFile * fp_
Definition XrdOssCsiFileAio.hh:101
bool read_
Definition XrdOssCsiFileAio.hh:105
XrdOssCsiFileAio * nio_
Definition XrdOssCsiFileAio.hh:102
bool pg_
Definition XrdOssCsiFileAio.hh:104
void PrepareWrite2()
Definition XrdOssCsiFileAio.hh:59
void DoItWrite1()
Definition XrdOssCsiFileAio.hh:303
void PrepareRead2()
Definition XrdOssCsiFileAio.hh:64
XrdSfsAio * aiop_
Definition XrdOssCsiFileAio.hh:103
void DoItRead2()
Definition XrdOssCsiFileAio.hh:218
void DoItWrite2()
Definition XrdOssCsiFileAio.hh:345
void DoItRead1()
Definition XrdOssCsiFileAio.hh:285
Definition XrdOssCsi.hh:47
XrdOssCsiFileAio * list_
Definition XrdOssCsi.hh:53
std::mutex mtx_
Definition XrdOssCsi.hh:52
Definition XrdOssCsiFileAio.hh:110
~XrdOssCsiFileAio()
Definition XrdOssCsiFileAio.hh:206
void SchedReadJob()
Definition XrdOssCsiFileAio.hh:200
XrdScheduler * Sched_
Definition XrdOssCsiFileAio.hh:214
XrdOssCsiFileAio(XrdOssCsiFileAioStore *store)
Definition XrdOssCsiFileAio.hh:205
virtual void doneRead()
Definition XrdOssCsiFileAio.hh:117
XrdOssCsiFileAioStore * store_
Definition XrdOssCsiFileAio.hh:209
void SchedWriteJob2()
Definition XrdOssCsiFileAio.hh:183
XrdOssCsiFileAioJob job_
Definition XrdOssCsiFileAio.hh:213
void SchedWriteJob()
Definition XrdOssCsiFileAio.hh:189
XrdOssCsiRangeGuard rg_
Definition XrdOssCsiFileAio.hh:114
virtual void Recycle()
Definition XrdOssCsiFileAio.hh:131
XrdOssCsiFile * file_
Definition XrdOssCsiFileAio.hh:211
uint64_t pgOpts_
Definition XrdOssCsiFileAio.hh:115
XrdSfsAio * parentaio_
Definition XrdOssCsiFileAio.hh:210
void SchedReadJob2()
Definition XrdOssCsiFileAio.hh:194
virtual void doneWrite()
Definition XrdOssCsiFileAio.hh:124
XrdOssCsiFileAio * next_
Definition XrdOssCsiFileAio.hh:215
static XrdOssCsiFileAio * Alloc(XrdOssCsiFileAioStore *store)
Definition XrdOssCsiFileAio.hh:171
void Init(XrdSfsAio *aiop, XrdOssCsiFile *file, bool isPgOp, uint64_t opts, bool isread)
Definition XrdOssCsiFileAio.hh:153
bool isPgOp_
Definition XrdOssCsiFileAio.hh:212
Definition XrdOssCsi.hh:74
XrdOssCsiPages * Pages()
Definition XrdOssCsi.hh:140
void aioInc()
Definition XrdOssCsi.hh:111
void aioDec()
Definition XrdOssCsi.hh:120
int FetchRange(XrdOssDF *, const void *, off_t, size_t, uint32_t *, uint64_t, XrdOssCsiRangeGuard &)
void LockTrackinglen(XrdOssCsiRangeGuard &, off_t, off_t, bool)
int StoreRange(XrdOssDF *, const void *, off_t, size_t, uint32_t *, uint64_t, XrdOssCsiRangeGuard &)
int UpdateRange(XrdOssDF *, const void *, off_t, size_t, XrdOssCsiRangeGuard &)
int VerifyRange(XrdOssDF *, const void *, off_t, size_t, XrdOssCsiRangeGuard &)
Definition XrdOssCsiRanges.hh:58
static XrdScheduler * Sched_
Definition XrdOssCsi.hh:216
XrdOssDF * successor_
Definition XrdOssHandler.hh:81
virtual ssize_t Read(off_t offset, size_t size)
Definition XrdOss.hh:281
virtual ssize_t Write(const void *buffer, off_t offset, size_t size)
Definition XrdOss.hh:345
Definition XrdScheduler.hh:46
void Schedule(XrdJob *jp)
Definition XrdSfsAio.hh:59
uint32_t * cksVec
Definition XrdSfsAio.hh:63
ssize_t Result
Definition XrdSfsAio.hh:65
const char * TIdent
Definition XrdSfsAio.hh:67
virtual void doneRead()=0
struct aiocb sfsAio
Definition XrdSfsAio.hh:62
virtual void doneWrite()=0
off_t aio_offset
Definition XrdSfsAio.hh:49
size_t aio_nbytes
Definition XrdSfsAio.hh:48
int aio_reqprio
Definition XrdSfsAio.hh:50
int aio_fildes
Definition XrdSfsAio.hh:46
void * aio_buf
Definition XrdSfsAio.hh:47