forked from vitalif/vitastor
Remove copy-pasted read/write _blocking
parent
1513d0490a
commit
327f310868
8
Makefile
8
Makefile
|
@ -41,15 +41,15 @@ osd.o: osd.cpp osd.h osd_ops.h osd_peering_pg.h
|
|||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
osd: ./libblockstore.so osd_main.cpp osd.h osd_ops.h $(OSD_OBJS)
|
||||
g++ $(CXXFLAGS) -o osd osd_main.cpp $(OSD_OBJS) ./libblockstore.so -ltcmalloc_minimal -luring
|
||||
stub_osd: stub_osd.cpp osd_ops.h
|
||||
g++ $(CXXFLAGS) -o stub_osd stub_osd.cpp -ltcmalloc_minimal
|
||||
stub_osd: stub_osd.cpp osd_ops.h rw_blocking.o
|
||||
g++ $(CXXFLAGS) -o stub_osd stub_osd.cpp rw_blocking.o -ltcmalloc_minimal
|
||||
rw_blocking.o: rw_blocking.cpp rw_blocking.h
|
||||
g++ $(CXXFLAGS) -c -o $@ $<
|
||||
test_osd: test_osd.cpp osd_ops.h rw_blocking.o
|
||||
g++ $(CXXFLAGS) -o test_osd test_osd.cpp rw_blocking.o -ltcmalloc_minimal
|
||||
|
||||
libfio_sec_osd.so: fio_sec_osd.cpp osd_ops.h
|
||||
g++ $(CXXFLAGS) -ltcmalloc_minimal -shared -o libfio_sec_osd.so fio_sec_osd.cpp -luring
|
||||
libfio_sec_osd.so: fio_sec_osd.cpp osd_ops.h rw_blocking.o
|
||||
g++ $(CXXFLAGS) -ltcmalloc_minimal -shared -o libfio_sec_osd.so fio_sec_osd.cpp rw_blocking.o -luring
|
||||
|
||||
test_blockstore: ./libblockstore.so test_blockstore.cpp
|
||||
g++ $(CXXFLAGS) -o test_blockstore test_blockstore.cpp ./libblockstore.so -ltcmalloc_minimal -luring
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include <vector>
|
||||
#include <unordered_map>
|
||||
|
||||
#include "rw_blocking.h"
|
||||
#include "osd_ops.h"
|
||||
extern "C" {
|
||||
#define CONFIG_PWRITEV2
|
||||
|
@ -75,9 +76,6 @@ static struct fio_option options[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static int read_blocking(int fd, void *read_buf, size_t remaining);
|
||||
static int write_blocking(int fd, void *write_buf, size_t remaining);
|
||||
|
||||
static int sec_setup(struct thread_data *td)
|
||||
{
|
||||
sec_data *bsd;
|
||||
|
@ -226,54 +224,6 @@ static enum fio_q_status sec_queue(struct thread_data *td, struct io_u *io)
|
|||
return FIO_Q_QUEUED;
|
||||
}
|
||||
|
||||
|
||||
static int read_blocking(int fd, void *read_buf, size_t remaining)
|
||||
{
|
||||
size_t done = 0;
|
||||
while (done < remaining)
|
||||
{
|
||||
size_t r = read(fd, read_buf, remaining-done);
|
||||
if (r <= 0)
|
||||
{
|
||||
if (!errno)
|
||||
{
|
||||
// EOF
|
||||
return done;
|
||||
}
|
||||
else if (errno != EAGAIN && errno != EPIPE)
|
||||
{
|
||||
perror("read");
|
||||
exit(1);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
done += r;
|
||||
read_buf += r;
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
static int write_blocking(int fd, void *write_buf, size_t remaining)
|
||||
{
|
||||
size_t done = 0;
|
||||
while (done < remaining)
|
||||
{
|
||||
size_t r = write(fd, write_buf, remaining-done);
|
||||
if (r < 0)
|
||||
{
|
||||
if (errno != EAGAIN && errno != EPIPE)
|
||||
{
|
||||
perror("write");
|
||||
exit(1);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
done += r;
|
||||
write_buf += r;
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
static int sec_getevents(struct thread_data *td, unsigned int min, unsigned int max, const struct timespec *t)
|
||||
{
|
||||
sec_data *bsd = (sec_data*)td->io_ops_data;
|
||||
|
|
52
stub_osd.cpp
52
stub_osd.cpp
|
@ -34,16 +34,13 @@
|
|||
|
||||
#include <stdexcept>
|
||||
|
||||
#include "rw_blocking.h"
|
||||
#include "osd_ops.h"
|
||||
|
||||
int bind_stub(const char *bind_address, int bind_port);
|
||||
|
||||
void run_stub(int peer_fd);
|
||||
|
||||
static int write_blocking(int fd, void *write_buf, size_t remaining);
|
||||
|
||||
static int read_blocking(int fd, void *read_buf, size_t remaining);
|
||||
|
||||
int main(int narg, char *args[])
|
||||
{
|
||||
int listen_fd = bind_stub("0.0.0.0", 11203);
|
||||
|
@ -180,50 +177,3 @@ void run_stub(int peer_fd)
|
|||
}
|
||||
free(buf);
|
||||
}
|
||||
|
||||
static int read_blocking(int fd, void *read_buf, size_t remaining)
|
||||
{
|
||||
size_t done = 0;
|
||||
while (done < remaining)
|
||||
{
|
||||
size_t r = read(fd, read_buf, remaining-done);
|
||||
if (r <= 0)
|
||||
{
|
||||
if (!errno)
|
||||
{
|
||||
// EOF
|
||||
return done;
|
||||
}
|
||||
else if (errno != EAGAIN && errno != EPIPE)
|
||||
{
|
||||
perror("read");
|
||||
exit(1);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
done += r;
|
||||
read_buf += r;
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
static int write_blocking(int fd, void *write_buf, size_t remaining)
|
||||
{
|
||||
size_t done = 0;
|
||||
while (done < remaining)
|
||||
{
|
||||
size_t r = write(fd, write_buf, remaining-done);
|
||||
if (r < 0)
|
||||
{
|
||||
if (errno != EAGAIN && errno != EPIPE)
|
||||
{
|
||||
perror("write");
|
||||
exit(1);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
done += r;
|
||||
write_buf += r;
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue