Vitaliy Filippov
d749159585
Linked list experiment
...
Rework client operation queue from a vector to a linked list.
This is required to rework continue_ops() as its current implementation
consumes ~25% of client process CPU.
2021-04-29 01:47:33 +03:00
Vitaliy Filippov
9703773a63
Fix has_flushes setting
2021-04-28 23:40:44 +03:00
Vitaliy Filippov
5d8d486f7c
Add SOVERSION
2021-04-20 01:01:32 +03:00
Vitaliy Filippov
2b546cdd55
Link vitastor_blk with vitastor_common for timerfd_manager_t
...
Not really required to operate, but fixes a verify-elf error
2021-04-20 00:51:53 +03:00
Vitaliy Filippov
bd7b177707
Report sensitive configuration values instead of the configuration source
2021-04-17 23:11:16 +03:00
Vitaliy Filippov
33f9d03d22
Update documentation regarding image names and vitastor-nbd
2021-04-17 17:40:12 +03:00
Vitaliy Filippov
82e6aff17b
Support mapping NBD by the image name
2021-04-17 17:39:55 +03:00
Vitaliy Filippov
57e2c503f7
Rename osd_t::c_cli to msgr
2021-04-17 16:32:09 +03:00
Vitaliy Filippov
715bc8d53d
Release 0.6.2
...
- Fix a possible crash during SYNC when journal fsyncs are enabled
- Fix a memory leak in the chained read implementation
2021-04-15 23:40:06 +03:00
Vitaliy Filippov
0af077701c
Fix a possible crash during SYNC when journal fsyncs are enabled
2021-04-15 02:01:50 +03:00
Vitaliy Filippov
cac976ce25
Fix a memory leak in the chained read implementation
2021-04-15 01:42:18 +03:00
Vitaliy Filippov
acf0646542
Build common sources once
2021-04-15 01:13:34 +03:00
Vitaliy Filippov
ede1c1d667
Release 0.6.1
...
A bugfix for the new "chained read from snapshot" feature
2021-04-14 22:32:23 +03:00
Vitaliy Filippov
38bd51c97f
Remove aio_context assertion, it seems it is unneeded
2021-04-14 22:32:15 +03:00
Vitaliy Filippov
8c9f32cd45
Add run_vm test bash scripts
2021-04-13 16:21:21 +03:00
Vitaliy Filippov
966fb763ca
Oooops, fix chained reads
2021-04-13 16:19:21 +03:00
Vitaliy Filippov
0b41ffc08d
Release 0.6.0
...
Warning: upgrading from 0.5.x is currently not supported!
Please create an issue if you really need upgrade capability.
New features:
- Snapshots and Copy-on-Write clones
- Inode (image) names
- Inode I/O and space statistics
- Write throttling for smoothing random write workloads in SSD+HDD configurations
2021-04-11 00:49:18 +03:00
Vitaliy Filippov
64eeb79051
Prevent 0.6.x OSDs from talking to 0.5.x
...
The new protocol is almost compatible - it has bitmaps, but also it has
a "bitmap_length" field. It's not hard to make 0.5-0.6 OSDs and clients
compatible, but for now I just assume nobody needs it.
If I'm wrong and anybody requests to upgrade their production 0.5.x system
to 0.6.x I'll fix it.
2021-04-10 22:26:17 +03:00
Vitaliy Filippov
2a02f3c4c7
Add metadata superblock and check it on start
...
Refuse to start if the superblock is missing or bad version;
zero out the metadata area when initializing superblock.
2021-04-10 22:26:17 +03:00
Vitaliy Filippov
f684d9101a
Refuse to start with old journal version
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
c72fddd714
Notes about master/0.5.x
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
a1f2f19489
Do not increment inode statistics if the object already exists
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
82c1a7ec67
Fix statistics reporting, split inode number into pool & inode
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
2ab423d4ef
Implement journaled write throttling for the SSD+HDD case
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
4694811eab
Add microsecond accuracy to set_timer
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
6b988de17d
Remove timerfd_interval
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
37efdc2a83
Fix bitmap_set for replicated pools
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
591cad09c9
Fix bitmaps for objects larger than 128K
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
b907ad50aa
Oops, forgot to add external bitmaps to blockstore in some places
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
7308d6a6c0
Note about etcd 3.4.15
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
5f5b6ef150
Enable chained reads in the client
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
38a3df4a0e
Implement chained (optimized) read in the primary OSD code
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
6950b8e3a0
Watch inode metadata revisions
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
0cea3576fb
Add "read bitmaps" operation to secondary OSD protocol
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
f01eea07d3
Add simplified interface to read blockstore bitmaps synchronously
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
2c2f08aca2
Shorten some structure names
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
d6524670e1
Introduce data distribution locality
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
879ecfa74d
Fix wording
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
aea2d19d35
Change Telegram chat link
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
04f86dc00b
Fix Russian README for CMake build
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
7aeb2cbac7
Capture all by value in qemu_proxy
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
519f081006
Add LICENSE
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
e50f703e1d
Add Russian version of the README
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
2612d3198a
Introduce image names and metadata storage in etcd
...
Each inode has: image name, parent inode number & pool, size and readonly flag
Snapshots are created by switching image name to a different inode number
while using the older inode as parent.
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
ab39ce2bbb
Use clean_entry_bitmap_size instead of entry_attr_size back because of changed bitmap handling
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
d0c2e31312
Add a test for snapshots, fix bugs. Now the test passes
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
9038d42327
Fix several snapshot I/O bugs
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
691f066055
Actual snapshot support (untested)
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
ffe1cd4c79
Report inode I/O statistics, aggregate it in the monitor
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
4ae1b84c67
Report inode space usage statistics to etcd, aggregate it in the monitor
2021-04-10 17:44:12 +03:00