Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
Jo-stfc committed Feb 19, 2025
1 parent 5b42730 commit f64f788
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/XrdCeph/XrdCephOss.cc
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ int XrdCephOss::Configure(const char *configfn, XrdSysError &Eroute) {
if (!Config.GetRest(parms, sizeof(parms)) || parms[0]) {
Eroute.Emsg("Config", "readvalgname parameters will be ignored");
}
m_configBufferIOmode = var; // allowed values would be aio, io
m_configBufferIOmode = var; // allowed values would be aio, io, write-only-io
} else {
Eroute.Emsg("Config", "Missing value for ceph.bufferiomode in config file", configfn);
return 1;
Expand Down
8 changes: 6 additions & 2 deletions src/XrdCeph/XrdCephOssBufferedFile.cc
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@ ssize_t XrdCephOssBufferedFile::Read(off_t offset, size_t blen) {
ssize_t XrdCephOssBufferedFile::Read(void *buff, off_t offset, size_t blen) {
size_t thread_id = std::hash<std::thread::id>{}(std::this_thread::get_id());

if (m_bufferIOmode == "write-only-io") {
return m_xrdOssDF->Read(buff, offset, blen);
}

IXrdCephBufferAlg * buffer{nullptr};
// check for, and create if needed, a buffer
{
Expand Down Expand Up @@ -326,11 +330,11 @@ std::unique_ptr<XrdCephBuffer::IXrdCephBufferAlg> XrdCephOssBufferedFile::create
std::unique_ptr<ICephIOAdapter> cephio;
if (m_bufferIOmode == "aio") {
cephio = std::unique_ptr<ICephIOAdapter>(new CephIOAdapterAIORaw(cephbuffer.get(),m_fd));
} else if (m_bufferIOmode == "io") {
} else if (m_bufferIOmode == "io" || m_bufferIOmode == "write-only-io") {
cephio = std::unique_ptr<ICephIOAdapter>(new CephIOAdapterRaw(cephbuffer.get(),m_fd,
!m_cephoss->m_useDefaultPreadAlg));
} else {
BUFLOG("XrdCephOssBufferedFile: buffer mode needs to be one of aio|io " );
BUFLOG("XrdCephOssBufferedFile: buffer mode needs to be one of aio|io|write-only-io " );
m_xrdOssDF->Close();
return bufferAlg; // invalid instance;
}
Expand Down

0 comments on commit f64f788

Please sign in to comment.