Browse Source

Add license notices to all source code files

tags/v0.5.1
Vitaliy Filippov 4 months ago
parent
commit
0471b09b9c
90 changed files with 269 additions and 0 deletions
  1. +3
    -0
      allocator.cpp
  2. +3
    -0
      allocator.h
  3. +3
    -0
      base64.cpp
  4. +3
    -0
      base64.h
  5. +3
    -0
      blockstore.cpp
  6. +3
    -0
      blockstore.h
  7. +3
    -0
      blockstore_flush.cpp
  8. +3
    -0
      blockstore_flush.h
  9. +3
    -0
      blockstore_impl.cpp
  10. +3
    -0
      blockstore_impl.h
  11. +3
    -0
      blockstore_init.cpp
  12. +3
    -0
      blockstore_init.h
  13. +3
    -0
      blockstore_journal.cpp
  14. +3
    -0
      blockstore_journal.h
  15. +3
    -0
      blockstore_open.cpp
  16. +3
    -0
      blockstore_read.cpp
  17. +3
    -0
      blockstore_rollback.cpp
  18. +3
    -0
      blockstore_stable.cpp
  19. +3
    -0
      blockstore_sync.cpp
  20. +3
    -0
      blockstore_write.cpp
  21. +3
    -0
      cluster_client.cpp
  22. +3
    -0
      cluster_client.h
  23. +3
    -0
      dump_journal.cpp
  24. +3
    -0
      epoll_manager.cpp
  25. +3
    -0
      epoll_manager.h
  26. +3
    -0
      etcd_state_client.cpp
  27. +3
    -0
      etcd_state_client.h
  28. +3
    -0
      fio_cluster.cpp
  29. +3
    -0
      fio_engine.cpp
  30. +3
    -0
      fio_sec_osd.cpp
  31. +3
    -0
      http_client.cpp
  32. +3
    -0
      http_client.h
  33. +3
    -0
      lambda_size.cpp
  34. +3
    -0
      malloc_or_die.h
  35. +3
    -0
      messenger.cpp
  36. +3
    -0
      messenger.h
  37. +3
    -0
      mon/PGUtil.js
  38. +3
    -0
      mon/lp-optimizer.js
  39. +2
    -0
      mon/make-units.sh
  40. +3
    -0
      mon/mon-main.js
  41. +3
    -0
      mon/mon.js
  42. +3
    -0
      mon/simple-offsets.js
  43. +3
    -0
      mon/stable-stringify.js
  44. +3
    -0
      mon/test-nonuniform.js
  45. +3
    -0
      mon/test-optimize-undersized.js
  46. +3
    -0
      mon/test-optimize.js
  47. +3
    -0
      msgr_receive.cpp
  48. +3
    -0
      msgr_send.cpp
  49. +3
    -0
      object_id.h
  50. +3
    -0
      osd.cpp
  51. +3
    -0
      osd.h
  52. +3
    -0
      osd_cluster.cpp
  53. +3
    -0
      osd_flush.cpp
  54. +3
    -0
      osd_id.h
  55. +3
    -0
      osd_main.cpp
  56. +3
    -0
      osd_ops.cpp
  57. +3
    -0
      osd_ops.h
  58. +3
    -0
      osd_peering.cpp
  59. +3
    -0
      osd_peering_pg.cpp
  60. +3
    -0
      osd_peering_pg.h
  61. +3
    -0
      osd_peering_pg_test.cpp
  62. +3
    -0
      osd_primary.cpp
  63. +3
    -0
      osd_primary.h
  64. +3
    -0
      osd_primary_subops.cpp
  65. +3
    -0
      osd_rmw.cpp
  66. +3
    -0
      osd_rmw.h
  67. +3
    -0
      osd_rmw_test.cpp
  68. +3
    -0
      osd_secondary.cpp
  69. +3
    -0
      osd_test.cpp
  70. +3
    -0
      pg_states.cpp
  71. +3
    -0
      pg_states.h
  72. +3
    -0
      qemu_driver.c
  73. +3
    -0
      qemu_proxy.cpp
  74. +3
    -0
      qemu_proxy.h
  75. +3
    -0
      ringloop.cpp
  76. +3
    -0
      ringloop.h
  77. +3
    -0
      rw_blocking.cpp
  78. +3
    -0
      rw_blocking.h
  79. +3
    -0
      stub_bench.cpp
  80. +3
    -0
      stub_osd.cpp
  81. +3
    -0
      stub_uring_osd.cpp
  82. +3
    -0
      test.cpp
  83. +3
    -0
      test_allocator.cpp
  84. +3
    -0
      test_blockstore.cpp
  85. +3
    -0
      test_pattern.h
  86. +3
    -0
      timerfd_interval.cpp
  87. +3
    -0
      timerfd_interval.h
  88. +3
    -0
      timerfd_manager.cpp
  89. +3
    -0
      timerfd_manager.h
  90. +3
    -0
      xor.h

+ 3
- 0
allocator.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <stdexcept>
#include "allocator.h"



+ 3
- 0
allocator.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#include <stdint.h>


+ 3
- 0
base64.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "base64.h"

std::string base64_encode(const std::string &in)


+ 3
- 0
base64.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once
#include <string>



+ 3
- 0
blockstore.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

blockstore_t::blockstore_t(blockstore_config_t & config, ring_loop_t *ringloop)


+ 3
- 0
blockstore.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#ifndef _LARGEFILE64_SOURCE


+ 3
- 0
blockstore_flush.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

journal_flusher_t::journal_flusher_t(int flusher_count, blockstore_impl_t *bs)


+ 3
- 0
blockstore_flush.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

struct copy_buffer_t
{
uint64_t offset, len;


+ 3
- 0
blockstore_impl.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

blockstore_impl_t::blockstore_impl_t(blockstore_config_t & config, ring_loop_t *ringloop)


+ 3
- 0
blockstore_impl.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#include "blockstore.h"


+ 3
- 0
blockstore_init.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

blockstore_init_meta::blockstore_init_meta(blockstore_impl_t *bs)


+ 3
- 0
blockstore_init.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

class blockstore_init_meta


+ 3
- 0
blockstore_journal.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

blockstore_journal_check_t::blockstore_journal_check_t(blockstore_impl_t *bs)


+ 3
- 0
blockstore_journal.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#include "crc32c.h"


+ 3
- 0
blockstore_open.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <sys/file.h>
#include "blockstore_impl.h"



+ 3
- 0
blockstore_read.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

int blockstore_impl_t::fulfill_read_push(blockstore_op_t *op, void *buf, uint64_t offset, uint64_t len,


+ 3
- 0
blockstore_rollback.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

int blockstore_impl_t::dequeue_rollback(blockstore_op_t *op)


+ 3
- 0
blockstore_stable.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

// Stabilize small write:


+ 3
- 0
blockstore_sync.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

#define SYNC_HAS_SMALL 1


+ 3
- 0
blockstore_write.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "blockstore_impl.h"

bool blockstore_impl_t::enqueue_write(blockstore_op_t *op)


+ 3
- 0
cluster_client.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include "cluster_client.h"

cluster_client_t::cluster_client_t(ring_loop_t *ringloop, timerfd_manager_t *tfd, json11::Json & config)


+ 3
- 0
cluster_client.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include "messenger.h"


+ 3
- 0
dump_journal.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#define _LARGEFILE64_SOURCE
#include <sys/types.h>
#include <sys/ioctl.h>


+ 3
- 0
epoll_manager.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include <sys/epoll.h>
#include <sys/poll.h>
#include <unistd.h>


+ 3
- 0
epoll_manager.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include <map>


+ 3
- 0
etcd_state_client.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include "osd_ops.h"
#include "pg_states.h"
#include "etcd_state_client.h"


+ 3
- 0
etcd_state_client.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include "osd_id.h"


+ 3
- 0
fio_cluster.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

// FIO engine to test cluster I/O
//
// Random write:


+ 3
- 0
fio_engine.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

// FIO engine to test Blockstore
//
// Initialize storage for tests:


+ 3
- 0
fio_sec_osd.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

// FIO engine to test Blockstore through Secondary OSD interface
//
// Prepare storage like in fio_engine.cpp, then start OSD with ./osd, then test it


+ 3
- 0
http_client.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include <netinet/tcp.h>
#include <sys/epoll.h>



+ 3
- 0
http_client.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once
#include <string>
#include <vector>


+ 3
- 0
lambda_size.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <iostream>
#include <functional>
#include <array>


+ 3
- 0
malloc_or_die.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include <malloc.h>


+ 3
- 0
messenger.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include <unistd.h>
#include <fcntl.h>
#include <sys/socket.h>


+ 3
- 0
messenger.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include <sys/types.h>


+ 3
- 0
mon/PGUtil.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

module.exports = {
scale_pg_count,
};


+ 3
- 0
mon/lp-optimizer.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

// Data distribution optimizer using linear programming (lp_solve)

const child_process = require('child_process');


+ 2
- 0
mon/make-units.sh View File

@@ -1,6 +1,8 @@
#!/bin/bash
# Example startup script generator
# Of course this isn't a production solution yet, this is just for tests
# Copyright (c) Vitaliy Filippov, 2019+
# License: MIT

IP=`ip -json a s | jq -r '.[].addr_info[] | select(.broadcast == "10.115.0.255") | .local'`



+ 3
- 0
mon/mon-main.js View File

@@ -1,5 +1,8 @@
#!/usr/bin/node

// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

const Mon = require('./mon.js');

const options = {};


+ 3
- 0
mon/mon.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

const http = require('http');
const crypto = require('crypto');
const os = require('os');


+ 3
- 0
mon/simple-offsets.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: MIT

// Simple tool to calculate journal and metadata offsets for a single device
// Will be replaced by smarter tools in the future



+ 3
- 0
mon/stable-stringify.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: MIT

function stableStringify(obj, opts)
{
if (!opts)


+ 3
- 0
mon/test-nonuniform.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

// Interesting real-world example coming from Ceph with EC and compression enabled.
// EC parity chunks can't be compressed as efficiently as data chunks,
// thus they occupy more space (2.26x more space) in OSD object stores.


+ 3
- 0
mon/test-optimize-undersized.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

const LPOptimizer = require('./lp-optimizer.js');

const crush_tree = [


+ 3
- 0
mon/test-optimize.js View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

const LPOptimizer = require('./lp-optimizer.js');

const osd_tree = {


+ 3
- 0
msgr_receive.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include "messenger.h"

void osd_messenger_t::read_requests()


+ 3
- 0
msgr_send.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include "messenger.h"

void osd_messenger_t::outbox_push(osd_op_t *cur_op)


+ 3
- 0
object_id.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include <stdint.h>


+ 3
- 0
osd.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <sys/socket.h>
#include <sys/poll.h>
#include <netinet/in.h>


+ 3
- 0
osd.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#include <sys/types.h>


+ 3
- 0
osd_cluster.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "osd.h"
#include "base64.h"
#include "etcd_state_client.h"


+ 3
- 0
osd_flush.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "osd.h"

#define FLUSH_BATCH 512


+ 3
- 0
osd_id.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#define POOL_SCHEME_REPLICATED 1


+ 3
- 0
osd_main.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "osd.h"

#include <signal.h>


+ 3
- 0
osd_ops.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include "osd_ops.h"

const char* osd_op_names[] = {


+ 3
- 0
osd_ops.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include "object_id.h"


+ 3
- 0
osd_peering.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <netinet/tcp.h>
#include <sys/epoll.h>



+ 3
- 0
osd_peering_pg.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "osd_peering_pg.h"

struct obj_ver_role


+ 3
- 0
osd_peering_pg.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <map>
#include <unordered_map>
#include <vector>


+ 3
- 0
osd_peering_pg_test.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#define _LARGEFILE64_SOURCE

#include "osd_peering_pg.h"


+ 3
- 0
osd_primary.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "osd_primary.h"

// read: read directly or read paired stripe(s), reconstruct, return


+ 3
- 0
osd_primary.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#include "osd.h"


+ 3
- 0
osd_primary_subops.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "osd_primary.h"

void osd_t::autosync()


+ 3
- 0
osd_rmw.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <string.h>
#include <assert.h>
#include "xor.h"


+ 3
- 0
osd_rmw.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#include <stdint.h>


+ 3
- 0
osd_rmw_test.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <string.h>
#include "osd_rmw.cpp"
#include "test_pattern.h"


+ 3
- 0
osd_secondary.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include "osd.h"

#include "json11/json11.hpp"


+ 3
- 0
osd_test.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>


+ 3
- 0
pg_states.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include "pg_states.h"

const int pg_state_bit_count = 14;


+ 3
- 0
pg_states.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

// Placement group states


+ 3
- 0
qemu_driver.c View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

// QEMU block driver

#define _GNU_SOURCE


+ 3
- 0
qemu_proxy.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

// C-C++ proxy for the QEMU driver
// (QEMU headers don't compile with g++)



+ 3
- 0
qemu_proxy.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#ifndef VITASTOR_QEMU_PROXY_H
#define VITASTOR_QEMU_PROXY_H



+ 3
- 0
ringloop.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include "ringloop.h"

ring_loop_t::ring_loop_t(int qd)


+ 3
- 0
ringloop.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#ifndef _LARGEFILE64_SOURCE


+ 3
- 0
rw_blocking.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include <errno.h>
#include <stdlib.h>
#include <stdio.h>


+ 3
- 0
rw_blocking.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include <unistd.h>


+ 3
- 0
stub_bench.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

/**
* Stub benchmarker
*/


+ 3
- 0
stub_osd.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

/**
* Stub "OSD" to test & compare network performance with sync read/write and io_uring
*


+ 3
- 0
stub_uring_osd.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

/**
* Stub "OSD" implemented on top of osd_messenger to test & compare
* network performance with sync read/write and io_uring


+ 3
- 0
test.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#define _LARGEFILE64_SOURCE
#include <sys/types.h>
#include <sys/ioctl.h>


+ 3
- 0
test_allocator.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <stdio.h>
#include "allocator.h"



+ 3
- 0
test_blockstore.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#include <malloc.h>
#include "timerfd_interval.h"
#include "blockstore.h"


+ 3
- 0
test_pattern.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 (see README.md for details)

#pragma once

#include <assert.h>


+ 3
- 0
timerfd_interval.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include <sys/timerfd.h>
#include <sys/poll.h>
#include <unistd.h>


+ 3
- 0
timerfd_interval.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include "ringloop.h"


+ 3
- 0
timerfd_manager.cpp View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#include <sys/timerfd.h>
#include <sys/poll.h>
#include <sys/epoll.h>


+ 3
- 0
timerfd_manager.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include <time.h>


+ 3
- 0
xor.h View File

@@ -1,3 +1,6 @@
// Copyright (c) Vitaliy Filippov, 2019+
// License: VNPL-1.0 or GNU GPL-2.0+ (see README.md for details)

#pragma once

#include <stdint.h>


Loading…
Cancel
Save