Code Monkey home page Code Monkey logo

vdo's People

Contributors

corwin avatar lorelei-sakai avatar rhawalsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vdo's Issues

Remove SVN tags

Most (all?) of the source files seem to have Subversion $id tags in them (e.g., in Makefile: # $Id: //eng/vdo-releases/magnesium/src/packaging/src-dist/user/Makefile#1 $).

Presumably, the original development of VDO was done in SVN, but now that it's open-sourced in git, these tags could probably be removed.
I'd happily send such a patch if the project maintainers agree.

Ansible example contain not supported parameters

When using the examples/ansible playbooks, an error is displayed.

I'm using:

- hosts: vdoClients
  remote_user: username
  become: yes
  become_method: sudo
  connection: ssh
  gather_facts: yes
  tasks:
  - name: Create VDO volume vdo1
    vdo:
      name: vdo1
      state: present
      volumegroup: VDO
      physicalsize: 260G
      logicalsize: 1T

The error I see:

#fatal: [default]: FAILED! => {"changed": false, "failed": true, "msg": "Unsupported parameters for (vdo) module: physicalsize,volumegroup Supported parameters include: ackthreads,activated,biothreads,blockmapcachesize,compression,cputhreads,deduplication,device,emulate512,growphysical,indexmem,indexmode,logicalsize,logicalthreads,name,physicalthreads,readcache,readcachesize,running,slabsize,state,writepolicy"}

The solution is probably to update the examples. I'll make a merge-request for that later.

LVM VDO not sending "device online events" to LVM ?

Hello everyone,

Still working on my project to make VDO work on my Debian 11(.3), I encountered a problem at first reboot after installation, everything is detailed here, including the fix I found.

Reading this RHEL 8 documentation, I understand that the default behavior is that LVM wait for a "device online event" to mount a logical volume. That's why I'm wondering if my problem is "normal", if I did something wrong or if I'm encountering a VDO bug in which VDO doesn't send this event to LVM, leading LVM not to mount the VDO volume.

Also, don't hesitate to give any advice if I'm doing something wrong or if you have a better solution than the one I found. It's really hard to find up-to-date documentation and to apply it on another system than RHEL so... Help is welcome :)

vdo command occurs error

I installed vdo and kvdo on CentOS 7.5.
There are some error message as below.

[root@localhost vdo]# vdo
Traceback (most recent call last):
File "/usr/bin/vdo", line 146, in
main()
File "/usr/bin/vdo", line 111, in main
arguments.logfile, arguments.debug)
AttributeError: 'Namespace' object has no attribute 'logfile'
[root@localhost vdo]#

[root@localhost vdo]# vdo create --name vdo0 --device=/dev/sdb --verbose
Creating VDO vdo0
grep MemAvailable /proc/meminfo
pvcreate -qq --test /dev/sdb
modprobe kvdo
vdoformat --uds-checkpoint-frequency=0 --uds-memory-size=0.25 /dev/disk/by-id/scsi-3600605b00d22397022b1ce98bec63b11
vdo: ERROR - vdoformat: formatVDO failed on '/dev/disk/by-id/scsi-3600605b00d22397022b1ce98bec63b11': VDO Status: Exceeds maximum number of slabs supported
[root@localhost vdo]#

What should I do to fix this..?

lvmvdo status config

Hi everyone,

tried to have a look for the new vdo version.

so far to check config i done (pre 8.x)

vdo status
or
vi /etc/vdoconf.yml

then i saw all the configs.


when i do the LVM side

lvcreate --type vdo -n vdo0 -l+100%FREE -V 1T --metadataprofile vdo-custom vg0/vdopool0

where is the lvm version of "vdo status" ?

vdostats --all /dev/mapper/vg0-vdopool0-vpool = not seeing the config
lvmconfig --type full | grep vdo = not telling me the config of the vdo-custom i imported

Not finding atm the Info how to get the "allocation" for the created vdo

vdoprepareforlvm Throw out of range error

Hello, I have vdoprepareforlvm failed when upgrading to rhel 9. I found out it's the following command caused by checking logs.

# /usr/libexec/vdoprepareforlvm --check /dev/sda1
vdoprepareforlvm: Unexpected error accessing '/dev/sda1' : VDO Status: Out of range

where /dev/sda1 is a BIOS boot partition for booting with legacy bios on GPT disk, with 1mb space.

Status of upstreaming

Hello,

I regularly check vdo-devel and here, but I see not report of advance towards upstreaming of VDO to the mainline Kernel.

  • Is it still a goal?
  • What is missing for getting VDO ready for upstream?
  • Do you have an estimated ETA ?
  • Where would be the place to follow the upstreaming effort advances?

Thanks

Little typo ?

Hello there,

I'm compiling VDO for use on Debian 11.3 (kernel 5.10.0-3) using the following command :

git clone https://github.com/dm-vdo/vdo.git /tmp/vdo/ && \
cd /tmp/vdo/ && \
make -j$(nproc)

And got this little echo error :

image

which comes from utils/vdo/Makefile:116

image

I'm not a bash expert but, why is this double "$$" ? And this line ?
Apparently, my compiler doesn't like it, but it compiles well.

Have a nice day,

vdo volume lost data suddenly after reboot on arm platform

vdo: version: kmod-kvdo-6.2.1.138 vdo-6.2.1.134
kernel version: 4.19.36-vhulk1907.1.0.h729.eulerosv2r8.aarch64

Create a 140T vdo logical volume on a physical disk 140T, fromat with ext4, write about 100G data.
After reboot, ext4 file system can't mount with error.
vdostat commond show N/A on Used、Use%、Spave saving% colume.

vdo status info:
lQLPDhsYbpbwoAjNBDHNBJqwI31C3TDX3xoB-LPZ18CDAA_1178_1073

1643337695269_AE42FF9C-0F53-4d0d-A3A0-FB3997380BA9

error message of vdo logical volume:
image

vdo message :
image

What's the possible reasons ?
How can I recover my data ?

Thanks!

can i change uuid of vdo device ?

in some case , we need a fullcopy of vdo device (using dd if=/dev/vdo1 of=/dev/sdc)

origin: sdb
mirror: sdc

then export these two disk to a linux box( iscsi ), copy &edit /etc/vdoconf.yml, change name/device value

final : vdo start -a , origin(sdb) is actived,but mirror disk report error!

vdo: ERROR - Could not set up device mapper for vdo2
vdo: ERROR - device-mapper : create ioctl on vdo-xxxxxxxxxxx(same as vdo1) failed : Device or resource busy

any tips? thank you

systemd unit starts vdo too early

Hello!

I'm trying to get vdo work on rhel 7.4, on iscsi attached volume
previously I tried this on centos 7.4 and local lvm volume with the same result.
Everything is OK, except startup:

systemctl status vdo
● vdo.service - VDO volume services
Loaded: loaded (/etc/systemd/system/vdo.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Вт 2018-03-27 20:29:01 +04; 28s ago
Process: 2115 ExecStart=/usr/bin/vdo start --all --confFile /etc/vdoconf.yml (code=exited, status=2)
Main PID: 2115 (code=exited, status=2)

мар 27 20:29:01 newroxar-backup systemd[1]: Starting VDO volume services...
мар 27 20:29:01 newroxar-backup vdo[2115]: vdo: ERROR - Could not set up device mapper for vdo1
мар 27 20:29:01 newroxar-backup vdo[2115]: ERROR - Could not set up device mapper for vdo1
мар 27 20:29:01 newroxar-backup vdo[2115]: vdo: ERROR - vdodumpconfig: Failed to make FileLayer from '/dev/mapper/mpathvdo' with No such file or directory
мар 27 20:29:01 newroxar-backup vdo[2115]: ERROR - vdodumpconfig: Failed to make FileLayer from '/dev/mapper/mpathvdo' with No such file or directory
мар 27 20:29:01 newroxar-backup vdo[2115]: Starting VDO vdo1
мар 27 20:29:01 newroxar-backup systemd[1]: vdo.service: main process exited, code=exited, status=2/INVALIDARGUMENT
мар 27 20:29:01 newroxar-backup systemd[1]: Failed to start VDO volume services.
мар 27 20:29:01 newroxar-backup systemd[1]: Unit vdo.service entered failed state.
мар 27 20:29:01 newroxar-backup systemd[1]: vdo.service failed.

If I start it manually after boot everything is fine.

I even tried to put it into rc.local, but no success:

мар 27 20:47:41 newroxar-backup rc.local[1929]: vdo: ERROR - Could not set up device mapper for vdo1
мар 27 20:47:41 newroxar-backup rc.local[1929]: vdo: ERROR - vdodumpconfig: Failed to make FileLayer from '/dev/mapper/mpathvdo' with No such file or directory
мар 27 20:47:41 newroxar-backup rc.local[1929]: Starting VDO vdo1
мар 27 20:47:41 newroxar-backup systemd[1]: rc-local.service: control process exited, code=exited status=2

Could you, please, add right dependency into unit ?

Thank you!

What is the role of VDO additional read-write BW?

I use the FIO tool for random writing and iostat to monitor the VDO volume and hard disk at the same time.
The VDO volume only has write BW, but there are both read and write BW in the hard disk (the approximate data is as follows: the read BW is the same as the write BW of the VDO volume, and the write BW is twice the write BW of the VDO volume).
Can you roughly describe the role of this additional bandwidth introduction?
As mentioned in the following table, VDO volumes are built directly on the hard disk.
The FIO write command is:
sudo fio -filename=/dev/mapper/vdo_2 --bs=4k --output write4k.log --direct=1 --iodepth=128 --rw=randwrite --ioengine=libaio --buffer_compress_percentage=54 --buffer_compress_chunk=4096 --offset=0 --size=100% --runtime=50000s --time_based=1 --group_reporting --numjobs=4
vdo_2 is the name.
Thanks.

Changing VDO to work with page granularity

Hey guys,

I want to change the code so that deduplication can be done in page level. I'm currently working on a small research project which aims to detect similarity at page level so I thought maybe I'd use VDO. Do any of you guys know if it's possible? And would you please guide me on where should I start cause I'm a bit running out of time.
Thanks

vdo fails to build with target EPEL7 | Error: No Package found for python3, python3-devel

When building vdo-6.2.1.48 with target EPEL7, the build fails with the following error:

 --> 7:device-mapper-event-devel-1.02.149-10.el7_6.7.x86_64
 --> Already installed : gcc-4.8.5-36.el7_6.2.x86_64
 --> libuuid-devel-2.23.2-59.el7_6.1.x86_64
 --> Already installed : 1:make-3.82-23.el7.x86_64
 --> Already installed : systemd-219-62.el7_6.6.x86_64
 --> 1:valgrind-devel-3.13.0-13.el7.x86_64
 --> zlib-devel-1.2.7-18.el7.x86_64
Error: No Package found for python3
Error: No Package found for python3-devel


Traceback (most recent call last):
  File "/usr/bin/copr-rpmbuild", line 158, in main
    action(args, config)
  File "/usr/bin/copr-rpmbuild", line 288, in build_rpm
    builder.run()
  File "/usr/lib/python3.6/site-packages/copr_rpmbuild/builders/mock.py", line 40, in run
    self.produce_rpm(srpm, configdir, self.resultdir)
  File "/usr/lib/python3.6/site-packages/copr_rpmbuild/builders/mock.py", line 124, in produce_rpm
    raise RuntimeError("Build failed")
RuntimeError: Build failed```

RHEL8 - VDO won't start and complains about ghost/non-started /dev/vdX disk

Hello,

I am currently unable to create vdo volumes on a RHEL8 VM. I cannot bring vdo.service up. Please, see below details about it:

[root@virtmanager-rhel8 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.4 (Ootpa)
[root@virtmanager-rhel8 ~]# rpm -qa | grep vdo
kmod-kvdo-6.2.4.26-77.el8.x86_64
vdo-6.2.4.14-14.el8.x86_64

As per the below output, vdo.service fails to start complaining about a disk I have not started before (/dev/vdb). I have removed that disk but it keeps complaining:

[root@virtmanager-rhel8 ~]# systemctl status vdo
● vdo.service - VDO volume services
   Loaded: loaded (/usr/lib/systemd/system/vdo.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

ago 01 00:26:58 virtmanager-rhel8 systemd[1]: Starting VDO volume services...
ago 01 00:26:58 virtmanager-rhel8 vdo[10018]: vdo: ERROR - Could not set up device mapper for vdo1
ago 01 00:26:58 virtmanager-rhel8 vdo[10018]: vdo: ERROR - vdodumpconfig: Failed to make FileLayer from '/dev/vdb' with No such file or directory
ago 01 00:26:58 virtmanager-rhel8 vdo[10018]: Starting VDO vdo1
ago 01 00:26:58 virtmanager-rhel8 vdo[10018]: ERROR - Could not set up device mapper for vdo1
ago 01 00:26:58 virtmanager-rhel8 vdo[10018]: ERROR - vdodumpconfig: Failed to make FileLayer from '/dev/vdb' with No such file or directory
ago 01 00:26:58 virtmanager-rhel8 systemd[1]: vdo.service: Main process exited, code=exited, status=1/FAILURE
ago 01 00:26:58 virtmanager-rhel8 systemd[1]: vdo.service: Failed with result 'exit-code'.
ago 01 00:26:58 virtmanager-rhel8 systemd[1]: Failed to start VDO volume services.
[root@virtmanager-rhel8 ~]#
[root@virtmanager-rhel8 ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1 1024M  0 rom  
vda           252:0    0   20G  0 disk 
├─vda1        252:1    0    1G  0 part /boot
└─vda2        252:2    0   19G  0 part 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]

I have also noticed that the /etc/vdoconf.yml config file won't disappear from this directory after removing the installed packages. Here's the content of that file:

[root@virtmanager-rhel8 ~]# cat vdoconf.yml 
####################################################################
# THIS FILE IS MACHINE GENERATED. DO NOT EDIT THIS FILE BY HAND.
####################################################################
config: !Configuration
  vdos:
    vdo1: !VDOService
      _operationState: finished
      ackThreads: 1
      activated: enabled
      bioRotationInterval: 64
      bioThreads: 4
      blockMapCacheSize: 128M
      blockMapPeriod: 16380
      compression: enabled
      cpuThreads: 2
      deduplication: enabled
      device: /dev/vdb
      hashZoneThreads: 1
      indexCfreq: 0
      indexMemory: 0.25
      indexSparse: disabled
      indexThreads: 0
      logicalBlockSize: 4096
      logicalSize: 50G
      logicalThreads: 1
      maxDiscardSize: 4K
      name: vdo1
      physicalSize: 20G
      physicalThreads: 1
      slabSize: 2G
      uuid: null
      writePolicy: auto
  version: 538380551

Can you please advise?

Thanks.

Why is VDO so Slow ?

When I am writing files to a filesystem (btrfs) on VDO, it is VERY slow, writing at about 3 MiB/s. Yet, the NVMe SSD is able to write at much faster speed. Here is a summary of the configuration I'm using :

  • Linux Kernel zen 5.11.5 (Arch Linux) x86_64
  • kvdo 6.2.4.26 (installed from AUR)
  • vdo 6.2.4.14 (installed from AUR)
  • Partition / LVM / crypt luks2 / LVM / VDO / btrfs

With that in mind, what may I modify to speed things up (possibly 2.5GiB/s, as without VDO in the chain) ?

Running "DESTDIR=/usr/local make install" places files unexpectedly.

When I run "DESTDIR=/usr/local make install" the files are places in unexpected places.

What I've done:

git clone https://github.com/dm-vdo/vdo.git
cd vdo
make
DESTDIR=/usr/local make install

What I see in /usr/local:

COPYING
examples
man8
statistics
utils
vdo
vdodumpconfig
vdoforcerebuild
vdoformat
vdomgmnt
vdoprepareupgrade
vdoreadonly
vdo.service
vdostats

If I conclude the list above, it contains:

  • binaries not in ./bin or ./sbin
  • man pages
  • examples
  • services not in /usr/lib/systemd/system/
  • COPYING

Am I using "make" incorrectly?

BTW: I can help make an RPM out of this software if you'd like that.

Cant import snapshot volume with assigning new --uuid

vdo import --device=/dev/mapper/vdo-backup1-plain --uuid=7aabced1f66c413981c3fb89d8a1525a -n vdo1 --verbose
Importing VDO vdo1
vdodumpconfig /dev/mapper/vdo-backup1-plain
grep MemAvailable /proc/meminfo
dmsetup table --target vdo
vdodumpconfig /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-692021079faf4089b9ae1db8b98e6964-vdo-plain
blkid -s UUID -o value /dev/dm-17
modprobe kvdo
vdosetuuid --uuid 7aabced1-f66c-4139-81c3-fb89d8a1525a /dev/disk/by-id/dm-uuid-CRYPT-LUKS2-692021079faf4089b9ae1db8b98e6964-vdo-backup1-plain
vdo: ERROR - Can't set the UUID for VDO volume vdo1; vdosetuuid: command failed, exit status 2

I cant find any binary or source-file called vdosetuuid in the 6.2.2.18 pre-release. Is there something missing or am I missing something?

VDO - Create Error Device excluded by a filter.

I don't know if this is a VDO issue or some subordinate step VDO uses when it creates a new volume.

I have a posting to CentOS Community forum here: https://forums.centos.org/viewtopic.php?f=47&t=74283

In summary. I needed to upgrade a drive and so pulled it out. Installed a new one and now trying to format it for use. First step was to remove Windows Partitions (and even ran dd of /dev/zero to drive) and then lay down VDO.

Error:
[root@odin ~]# vdo create --name=odin_vdo_bay1 --device=/dev/disk/by-id/ata-SAMSUNG_SSD_PM851_mSATA_512GB_S1EWNYAF609306 --activate=enabled --compression=enabled --deduplication=enabled --vdoLogicalSize=750G --writePolicy=async --verbose
Creating VDO odin_vdo_bay1
grep MemAvailable /proc/meminfo
pvcreate --config devices/scan_lvs=1 -qq --test /dev/disk/by-id/ata-SAMSUNG_SSD_PM851_mSATA_512GB_S1EWNYAF609306
vdo: ERROR - Device /dev/disk/by-id/ata-SAMSUNG_SSD_PM851_mSATA_512GB_S1EWNYAF609306 excluded by a filter.
[root@odin ~]#

I attempted many clean up attempts and even gave reboot a try... but no change.

Lots of hits on google about this "excluded by a filter." message but no answers that make sense or answers to posts.

Hoping someone else has run into this. Thx.

vdo fails to build with target Fedora30 | In function 'logSystemCallErrno', return logWithStringError: '%s' directive argument is null

When building vdo-6.2.1.48 with target Fedora 30, using gcc-9.1.1-1.fc30, the build fails with the following error

gcc` -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings   -DUDS_VERSION='"7.0.0.15"'  -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -pedantic    -c -MD -MF .deps/fileUtils.d.new -MP -MT fileUtils.o fileUtils.c -o fileUtils.o
In file included from fileUtils.c:36:
In function 'logSystemCallErrno',
    inlined from 'checkSystemCall' at syscalls.h:289:41,
    inlined from 'loggingFsync' at fileUtils.c:484:10,
    inlined from 'loggingFsync' at fileUtils.c:482:5,
    inlined from 'syncAndCloseFile' at fileUtils.c:149:16,
    inlined from 'trySyncAndCloseFile' at fileUtils.c:160:16:
syscalls.h:280:10: error: '%s' directive argument is null [-Werror=format-overflow=]
  280 |   return logWithStringError(((errno == EINTR) ? LOG_DEBUG : LOG_ERR),
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  281 |                             errno, "%s failed in %s", function, context);
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

the exact command is:
$ mock --rebuild -r fedora-30-x86_64 SRPMS/vdo-6.2.1.48-1.fc30.src.rpm

Full build logs from mock attached

The issue also happen when building on copr:
COPR building master

VDO - Bad Magic Number

Been using VDO for some time to underpin a gluster file system. Having two seperate issues.. but this one is the hotest as it is stopping me from mounting my file system to get the VMs back working. I did a clean reboot (to try to baseline the other issue not being some VDO version patch pending or such...) and after reboot, the VDO volume will not start with the below "Bad magic number" Error.

What I am asking for is steps to / or RTFM location for how to root cause VDO failures such as volumes not starting for formating etc... Step intructions of root cause.

Thanks,
##############

[root@thor data]# vdo start -n thor_vdo_bay1
Starting VDO thor_vdo_bay1
vdo: ERROR - Could not set up device mapper for thor_vdo_bay1
vdo: ERROR - vdodumpconfig: allocateVDO failed for '/dev/disk/by-id/ata-Samsung_SSD_850_PRO_512GB_S250NXAGA15787L' with VDO Status: Bad magic number
[root@thor data]#
[root@thor data]# vdo printConfigFile
config: !Configuration
vdos:
thor_vdo_bay1: !VDOService
_operationState: finished
ackThreads: 1
activated: enabled
bioRotationInterval: 64
bioThreads: 4
blockMapCacheSize: 128M
blockMapPeriod: 16380
compression: enabled
cpuThreads: 2
deduplication: enabled
device: /dev/disk/by-id/ata-Samsung_SSD_850_PRO_512GB_S250NXAGA15787L
hashZoneThreads: 1
indexCfreq: 0
indexMemory: 0.25
indexSparse: disabled
indexThreads: 0
logicalBlockSize: 4096
logicalSize: 1T
logicalThreads: 1
name: thor_vdo_bay1
physicalSize: 500107608K
physicalThreads: 1
readCache: disabled
readCacheSize: 0M
slabSize: 2G
writePolicy: async
thor_vdo_bay2: !VDOService
_operationState: finished
ackThreads: 1
activated: enabled
bioRotationInterval: 64
bioThreads: 4
blockMapCacheSize: 128M
blockMapPeriod: 16380
compression: enabled
cpuThreads: 2
deduplication: enabled
device: /dev/disk/by-id/ata-WDC_WDS100T2B0B-00YS70_19106A802926
hashZoneThreads: 1
indexCfreq: 0
indexMemory: 0.25
indexSparse: disabled
indexThreads: 0
logicalBlockSize: 4096
logicalSize: 3000G
logicalThreads: 1
name: thor_vdo_bay2
physicalSize: 976762584K
physicalThreads: 1
readCache: disabled
readCacheSize: 0M
slabSize: 2G
writePolicy: async
thor_vdo_bay3: !VDOService
_operationState: finished
ackThreads: 1
activated: enabled
bioRotationInterval: 64
bioThreads: 4
blockMapCacheSize: 128M
blockMapPeriod: 16380
compression: enabled
cpuThreads: 2
deduplication: enabled
device: /dev/disk/by-id/ata-ST9500325AS_5VEAGVS2
hashZoneThreads: 1
indexCfreq: 0
indexMemory: 0.25
indexSparse: disabled
indexThreads: 0
logicalBlockSize: 4096
logicalSize: 15000000M
logicalThreads: 1
name: thor_vdo_bay3
physicalSize: 488386584K
physicalThreads: 1
readCache: disabled
readCacheSize: 0M
slabSize: 2G
writePolicy: async
thor_vdo_bay4: !VDOService
_operationState: finished
ackThreads: 1
activated: enabled
bioRotationInterval: 64
bioThreads: 4
blockMapCacheSize: 128M
blockMapPeriod: 16380
compression: enabled
cpuThreads: 2
deduplication: enabled
device: /dev/disk/by-id/ata-Hitachi_HTS545050B9SA02_110311PBL400M7JM1REV
hashZoneThreads: 1
indexCfreq: 0
indexMemory: 0.25
indexSparse: disabled
indexThreads: 0
logicalBlockSize: 4096
logicalSize: 15000000M
logicalThreads: 1
name: thor_vdo_bay4
physicalSize: 488386584K
physicalThreads: 1
readCache: disabled
readCacheSize: 0M
slabSize: 2G
writePolicy: async
thor_vdo_bay5: !VDOService
_operationState: finished
ackThreads: 1
activated: enabled
bioRotationInterval: 64
bioThreads: 4
blockMapCacheSize: 128M
blockMapPeriod: 16380
compression: enabled
cpuThreads: 2
deduplication: enabled
device: /dev/disk/by-id/ata-ST9320325AS_5VD1Q5N7
hashZoneThreads: 1
indexCfreq: 0
indexMemory: 0.25
indexSparse: disabled
indexThreads: 0
logicalBlockSize: 4096
logicalSize: 9400000M
logicalThreads: 1
name: thor_vdo_bay5
physicalSize: 312571224K
physicalThreads: 1
readCache: disabled
readCacheSize: 0M
slabSize: 2G
writePolicy: async
version: 538380551
filename: /etc/vdoconf.yml

[root@thor data]#

Can't "make" vdo source

Hi,
I am using CentOS 6.8 as below.
Linux noname 2.6.32-642.1.1.el6.x86_64 #1 SMP Tue May 31 21:57:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I executed "make" then below error was shown.

root@noname vdo]# make
for d in examples utils vdo-manager; do
make -C $d all || exit 1;
done
make[1]: Entering directory /root/vdo/examples' for d in ansible nagios systemd; do \ make -C $d all || exit 1; \ done make[2]: Entering directory /root/vdo/examples/ansible'
make[2]: Nothing to be done for all'. make[2]: Leaving directory /root/vdo/examples/ansible'
make[2]: Entering directory /root/vdo/examples/nagios' make[2]: Nothing to be done for all'.
make[2]: Leaving directory /root/vdo/examples/nagios' make[2]: Entering directory /root/vdo/examples/systemd'
make[2]: Nothing to be done for all'. make[2]: Leaving directory /root/vdo/examples/systemd'
make[1]: Leaving directory /root/vdo/examples' make[1]: Entering directory /root/vdo/utils'
for d in uds vdo; do
make -C $d all || exit 1;
done
make[2]: Entering directory /root/vdo/utils/uds' gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/zone.d -MP -MT zone.o zone.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/volumeInternals.d -MP -MT volumeInternals.o volumeInternals.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/volume.d -MP -MT volume.o volume.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/udsState.d -MP -MT udsState.o udsState.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/udsMain.d -MP -MT udsMain.o udsMain.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/timeUtilsLinuxUser.d -MP -MT timeUtilsLinuxUser.o timeUtilsLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/timeUtils.d -MP -MT timeUtils.o timeUtils.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/threadOnce.d -MP -MT threadOnce.o threadOnce.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/threadSemaphoreLinuxUser.d -MP -MT threadSemaphoreLinuxUser.o threadSemaphoreLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/threadMutexLinuxUser.d -MP -MT threadMutexLinuxUser.o threadMutexLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/threadsLinuxUser.d -MP -MT threadsLinuxUser.o threadsLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/threadCondVarLinuxUser.d -MP -MT threadCondVarLinuxUser.o threadCondVarLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/syscalls.d -MP -MT syscalls.o syscalls.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/stringUtils.d -MP -MT stringUtils.o stringUtils.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/stringLinuxUser.d -MP -MT stringLinuxUser.o stringLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/sparseCache.d -MP -MT sparseCache.o sparseCache.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/singleFileLayout.d -MP -MT singleFileLayout.o singleFileLayout.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/session.d -MP -MT session.o session.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/searchList.d -MP -MT searchList.o searchList.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/requestQueue.d -MP -MT requestQueue.o requestQueue.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/request.d -MP -MT request.o request.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/regionIndexState.d -MP -MT regionIndexState.o regionIndexState.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/regionIndexComponent.d -MP -MT regionIndexComponent.o regionIndexComponent.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/recordPage.d -MP -MT recordPage.o recordPage.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/readOnlyVolume.d -MP -MT readOnlyVolume.o readOnlyVolume.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/random.d -MP -MT random.o random.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/radixSort.d -MP -MT radixSort.o ./util/radixSort.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/permassertLinuxUser.d -MP -MT permassertLinuxUser.o permassertLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/permassert.d -MP -MT permassert.o permassert.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/pathBuffer.d -MP -MT pathBuffer.o ./util/pathBuffer.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/parameter.d -MP -MT parameter.o parameter.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/pageCache.d -MP -MT pageCache.o pageCache.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/openChapterZone.d -MP -MT openChapterZone.o openChapterZone.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/openChapter.d -MP -MT openChapter.o openChapter.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/nonce.d -MP -MT nonce.o nonce.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/numeric.d -MP -MT numeric.o numeric.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/minisyslog.d -MP -MT minisyslog.o minisyslog.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/memoryLinuxUser.d -MP -MT memoryLinuxUser.o memoryLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/memoryAlloc.d -MP -MT memoryAlloc.o memoryAlloc.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/masterIndexOps.d -MP -MT masterIndexOps.o masterIndexOps.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/masterIndex006.d -MP -MT masterIndex006.o masterIndex006.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/masterIndex005.d -MP -MT masterIndex005.o masterIndex005.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/loggerLinuxUser.d -MP -MT loggerLinuxUser.o loggerLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/logger.d -MP -MT logger.o logger.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/localIndexRouter.d -MP -MT localIndexRouter.o localIndexRouter.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/loadType.d -MP -MT loadType.o loadType.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/ioRegion.d -MP -MT ioRegion.o ioRegion.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexZone.d -MP -MT indexZone.o indexZone.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexStateData.d -MP -MT indexStateData.o indexStateData.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexState.d -MP -MT indexState.o indexState.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexSession.d -MP -MT indexSession.o indexSession.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexPageMap.d -MP -MT indexPageMap.o indexPageMap.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexLayoutParser.d -MP -MT indexLayoutParser.o indexLayoutParser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexLayoutLinuxUser.d -MP -MT indexLayoutLinuxUser.o indexLayoutLinuxUser.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexInternals.d -MP -MT indexInternals.o indexInternals.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexConfig.d -MP -MT indexConfig.o indexConfig.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexComponent.d -MP -MT indexComponent.o indexComponent.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/indexCheckpoint.d -MP -MT indexCheckpoint.o indexCheckpoint.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/index.d -MP -MT index.o index.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/hashUtils.d -MP -MT hashUtils.o hashUtils.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/grid.d -MP -MT grid.o grid.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/geometry.d -MP -MT geometry.o geometry.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/funnelQueue.d -MP -MT funnelQueue.o ./util/funnelQueue.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/fileUtils.d -MP -MT fileUtils.o fileUtils.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/fileIORegion.d -MP -MT fileIORegion.o fileIORegion.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/fileBufferedReader.d -MP -MT fileBufferedReader.o fileBufferedReader.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/eventCount.d -MP -MT eventCount.o ./util/eventCount.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/errors.d -MP -MT errors.o errors.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/deltaMemory.d -MP -MT deltaMemory.o deltaMemory.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/deltaIndex.d -MP -MT deltaIndex.o deltaIndex.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/context.d -MP -MT context.o context.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/config.d -MP -MT config.o config.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/chapterWriter.d -MP -MT chapterWriter.o chapterWriter.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/chapterIndex.d -MP -MT chapterIndex.o chapterIndex.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/cachedChapterIndex.d -MP -MT cachedChapterIndex.o cachedChapterIndex.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/cacheCounters.d -MP -MT cacheCounters.o cacheCounters.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/bufferedWriter.d -MP -MT bufferedWriter.o bufferedWriter.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/bufferedReader.d -MP -MT bufferedReader.o bufferedReader.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/bufferedIORegion.d -MP -MT bufferedIORegion.o bufferedIORegion.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/buffer.d -MP -MT buffer.o buffer.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/blockIORegion.d -MP -MT blockIORegion.o blockIORegion.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/bits.d -MP -MT bits.o bits.c gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -MM -MF .deps/MurmurHash3.d -MP -MT MurmurHash3.o ./murmur/MurmurHash3.c make[2]: Leaving directory /root/vdo/utils/uds'
make[2]: Entering directory /root/vdo/utils/uds' gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/MurmurHash3.d.new -MP -MT MurmurHash3.o ./murmur/MurmurHash3.c -o MurmurHash3.o if cmp -s .deps/MurmurHash3.d .deps/MurmurHash3.d.new; then \ rm -f .deps/MurmurHash3.d.new ; \ else \ mv -f .deps/MurmurHash3.d.new .deps/MurmurHash3.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/bits.d.new -MP -MT bits.o bits.c -o bits.o if cmp -s .deps/bits.d .deps/bits.d.new; then \ rm -f .deps/bits.d.new ; \ else \ mv -f .deps/bits.d.new .deps/bits.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/blockIORegion.d.new -MP -MT blockIORegion.o blockIORegion.c -o blockIORegion.o if cmp -s .deps/blockIORegion.d .deps/blockIORegion.d.new; then \ rm -f .deps/blockIORegion.d.new ; \ else \ mv -f .deps/blockIORegion.d.new .deps/blockIORegion.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/buffer.d.new -MP -MT buffer.o buffer.c -o buffer.o if cmp -s .deps/buffer.d .deps/buffer.d.new; then \ rm -f .deps/buffer.d.new ; \ else \ mv -f .deps/buffer.d.new .deps/buffer.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/bufferedIORegion.d.new -MP -MT bufferedIORegion.o bufferedIORegion.c -o bufferedIORegion.o if cmp -s .deps/bufferedIORegion.d .deps/bufferedIORegion.d.new; then \ rm -f .deps/bufferedIORegion.d.new ; \ else \ mv -f .deps/bufferedIORegion.d.new .deps/bufferedIORegion.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/bufferedReader.d.new -MP -MT bufferedReader.o bufferedReader.c -o bufferedReader.o if cmp -s .deps/bufferedReader.d .deps/bufferedReader.d.new; then \ rm -f .deps/bufferedReader.d.new ; \ else \ mv -f .deps/bufferedReader.d.new .deps/bufferedReader.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/bufferedWriter.d.new -MP -MT bufferedWriter.o bufferedWriter.c -o bufferedWriter.o if cmp -s .deps/bufferedWriter.d .deps/bufferedWriter.d.new; then \ rm -f .deps/bufferedWriter.d.new ; \ else \ mv -f .deps/bufferedWriter.d.new .deps/bufferedWriter.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/cacheCounters.d.new -MP -MT cacheCounters.o cacheCounters.c -o cacheCounters.o if cmp -s .deps/cacheCounters.d .deps/cacheCounters.d.new; then \ rm -f .deps/cacheCounters.d.new ; \ else \ mv -f .deps/cacheCounters.d.new .deps/cacheCounters.d ; \ fi gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings -DUDS_VERSION='"6.2.0.35"' -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic -c -MD -MF .deps/cachedChapterIndex.d.new -MP -MT cachedChapterIndex.o cachedChapterIndex.c -o cachedChapterIndex.o In file included from request.h:33, from pageCache.h:33, from volume.h:32, from cachedChapterIndex.h:32, from cachedChapterIndex.c:22: util/funnelQueue.h: In function ‘funnelQueuePut’: util/funnelQueue.h:141: error: #pragma GCC diagnostic not allowed inside functions cc1: warnings being treated as errors util/funnelQueue.h:145: error: implicit declaration of function ‘__atomic_exchange_n’ util/funnelQueue.h:145: error: nested extern declaration of ‘__atomic_exchange_n’ util/funnelQueue.h:145: error: ‘__ATOMIC_SEQ_CST’ undeclared (first use in this function) util/funnelQueue.h:145: error: (Each undeclared identifier is reported only once util/funnelQueue.h:145: error: for each function it appears in.) util/funnelQueue.h:146: error: #pragma GCC diagnostic not allowed inside functions make[2]: *** [cachedChapterIndex.o] Error 1 make[2]: Leaving directory /root/vdo/utils/uds'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/root/vdo/utils'
make: *** [all] Error 1
[root@noname vdo]#

Is there any package what has to be installed, to make vdo?

Change index on existing volume?

Is there anyway to change/rebuild the index on an existing volume?

I stupidly set it to 0.25GB and the default of Dense,

I presume changing index sparse in vdoconf.yml would explode things but what about increasing index memory and leaving the other settings alone?

ModuleNotFoundError: No module named 'vdo'

Hello!

I am having trouble getting VDO and KVDO working on a debian based machine (proxmox). Here are the steps I followed initially:

apt-get install -y git sudo
sudo apt-get upgrade -y
sudo apt-get install -y build-essential libdevmapper-dev libz-dev uuid-dev python-yaml python3-yaml
sudo apt install  pve-headers-$(uname -r)
mkdir /src
cd /src
git clone https://github.com/dm-vdo/vdo.git
git clone https://github.com/dm-vdo/kvdo.git
cd /src/vdo
make
make install
cd /src/kvdo
make -C /usr/src/linux-headers-`uname -r` M=`pwd`
cp vdo/kvdo.ko /lib/modules/`uname -r`/
cp uds/uds.ko /lib/modules/`uname -r`/
depmod
modprobe kvdo
modprobe uds
systemctl start vdo

Which leads to: (journalctl -xe)

May 20 22:09:01 dl380g7 systemd[1]: Starting VDO volume services...
-- Subject: A start job for unit vdo.service has begun execution
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit vdo.service has begun execution.
--
-- The job identifier is 6046.
May 20 22:09:01 dl380g7 vdo[5672]: Traceback (most recent call last):
May 20 22:09:01 dl380g7 vdo[5672]:   File "/usr/bin/vdo", line 46, in <module>
May 20 22:09:01 dl380g7 vdo[5672]:     from vdo.utils import Command
May 20 22:09:01 dl380g7 vdo[5672]: ModuleNotFoundError: No module named 'vdo'
May 20 22:09:01 dl380g7 systemd[1]: vdo.service: Main process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- An ExecStart= process belonging to unit vdo.service has exited.
--
-- The process' exit code is 'exited' and its exit status is 1.
May 20 22:09:01 dl380g7 systemd[1]: vdo.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The unit vdo.service has entered the 'failed' state with result 'exit-code'.
May 20 22:09:01 dl380g7 systemd[1]: Failed to start VDO volume services.
-- Subject: A start job for unit vdo.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- A start job for unit vdo.service has finished with a failure.
--
-- The job identifier is 6046 and the job result is failed.

I've searched the tickets here, and even Google didn't help shed any light on the situation. I do apologize if, as is likely, the issue is on my end, but after retrying a few times and being unable to otherwise track down a solution, this seemed an appropriate next step.

"vdo_use_sparse_index" and "vdo_index_memory_size_mb" incompatible values ? Gives "VDO Status: Out of space" error

Hello there,

I'm encountering a problem with the following LVM VDO metadata profile:

# Custom configuration for VDO using compression/deduplication and more CPUs (based on local vCPU count)
# Custom parameters based on: https://is.muni.cz/th/rq7e2/petrovic_diploma_thesis.pdf

allocation {
  vdo_use_compression=1
  vdo_use_deduplication=1
  vdo_use_metadata_hints=1
  vdo_minimum_io_size=4096
  vdo_block_map_cache_size_mb=16384
  vdo_block_map_period=16380
  vdo_check_point_frequency=0
  vdo_use_sparse_index=1
  vdo_index_memory_size_mb=3072
  vdo_slab_size_mb=8192
  vdo_ack_threads=$((VCPU_COUNT/4))
  vdo_bio_threads=$VCPU_COUNT
  vdo_bio_rotation=64
  vdo_cpu_threads=$((VCPU_COUNT/2))
  vdo_hash_zone_threads=$((VCPU_COUNT/4))
  vdo_logical_threads=$((VCPU_COUNT/4))
  vdo_physical_threads=1
  vdo_write_policy=\"sync\"
  vdo_max_discard=1
}

FYI, on my system:

VCPU_COUNT=8

When I run lvcreate using the previous metadata profile:

DESTINATION_LVM_VG="/dev/Pepper-Potts-vg"
VDOLV_NAME="COMPRESSED-DEDUPLICATED-VDOLV-1"

lvcreate -y --vdopool "COMPRESSED-DEDUPLICATED-VDOPOOL-1" --name $VDOLV_NAME --size 12G --virtualsize 24G --metadataprofile $LVM_METADATA_PROFILE_NAME $DESTINATION_LVM_VG

I get the following error:

vdoformat: formatVDO failed on '/dev/Pepper-Potts-vg/COMPRESSED-DEDUPLICATED-VDOPOOL-1': VDO Status: Out of space
  Command /usr/bin/vdoformat failed.
  Cannot format VDO pool volume Pepper-Potts-vg/COMPRESSED-DEDUPLICATED-VDOPOOL-1.

But I do have sufficient free space on volume group, here is the output of vgs command:

VG              #PV #LV #SN Attr   VSize   VFree
Pepper-Potts-vg   1   5   0 wz--n- <99,52g <84,63g

I did some tests and found that the problem comes from these lines :

vdo_use_sparse_index=1

and

vdo_index_memory_size_mb=3084

Here are the results of my different tests:

vdo_index_memory_size_mb value
not set 256 (default value) 512 1024 2048 3072
vdo_use_sparse_index value 0 ❌❌
1 (default value)
not set

In "❌❌" case, I get a different error:

vdoformat: parseIndexConfig failed: Invalid argument
  Command /usr/bin/vdoformat failed.
  Cannot format VDO pool volume Pepper-Potts-vg/COMPRESSED-DEDUPLICATED-VDOPOOL-1.

I feel that I'm doing something wrong but don't really know what 😅 thanks per advance !

VDO - Import Volume

Is it possible and then what are commands to take a VDO single disk volume and move it to another server.

I would assume that the versions of VDO must match (I see other posting on that ) but assuming that is done.. Once the device is visible, how do you import it?

Ex: OS was damaged or upgraded and now that it is recovered, you want to import the VDO + XFS bricks that gluster would use :)

can i add an argument when vdo create?

I want to add an argument(like "LZ4") in "vdo create" to choose compression algorithm,
so I try to edit the code in vdo front end (python part),
but there is a bug in "dmsetup create vdo0 --uuid=xxx --table 'xxx' " as shown after.
I find code of "dmsetup create" is in vdo-manager/vdomgmnt/VDOService.py,
how can i fix it? It is just a test and I want to know if i can add an argument when vdo create.

KEY POINT:
dmsetup create vdo0 --uuid VDO-53da712d-b543-4e30-b005-39f011ae8811 --table '0 209715200 vdo V2 /dev/disk/by-id/nvme-INTEL_SSDPEDMD800G4_CVFT6496004L800CGN-part1 52428800 4096 32768 16380 on async LZ4 vdo0 maxDiscard 1 ack 2 bio 2 bioRotationInterval 64 cpu 2 hash 2 logical 2 packer 2 physical 2'
vdo: ERROR - Could not set up device mapper for vdo0
......
vdo: ERROR - device-mapper: reload ioctl on vdo0 failed: Invalid argument

TOTAL MESSAGE:
Creating VDO vdo0
grep MemAvailable /proc/meminfo
modprobe kvdo
vdoformat --uds-checkpoint-frequency=0 --uds-memory-size=0.25 --logical-size=100G --force /dev/disk/by-id/nvme-INTEL_SSDPEDMD800G4_CVFT6496004L800CGN-part1
vdodumpconfig /dev/disk/by-id/nvme-INTEL_SSDPEDMD800G4_CVFT6496004L800CGN-part1
Starting VDO vdo0
dmsetup status --target vdo vdo0
grep MemAvailable /proc/meminfo
modprobe kvdo
vdodumpconfig /dev/disk/by-id/nvme-INTEL_SSDPEDMD800G4_CVFT6496004L800CGN-part1
vdodumpconfig /dev/disk/by-id/nvme-INTEL_SSDPEDMD800G4_CVFT6496004L800CGN-part1
dmsetup create vdo0 --uuid VDO-53da712d-b543-4e30-b005-39f011ae8811 --table '0 209715200 vdo V2 /dev/disk/by-id/nvme-INTEL_SSDPEDMD800G4_CVFT6496004L800CGN-part1 52428800 4096 32768 16380 on async LZ4 vdo0 maxDiscard 1 ack 2 bio 2 bioRotationInterval 64 cpu 2 hash 2 logical 2 packer 2 physical 2'
vdo: ERROR - Could not set up device mapper for vdo0
Removing VDO vdo0
Stopping VDO vdo0
dmsetup status --target vdo vdo0
dd if=/dev/zero of=/dev/disk/by-id/nvme-INTEL_SSDPEDMD800G4_CVFT6496004L800CGN-part1 oflag=direct bs=4096 count=1
vdo: ERROR - device-mapper: reload ioctl on vdo0 failed: Invalid argument

Installation steps of kvdo + vdo on Debian 11(.3)

Hello everyone,

I wrote this little script to install kvdo + vdo on Debian 11(.3) (tested with 5.10.0-13 Linux kernel)

# First part : KVDO module
DEPENDENCIES="git make linux-headers-$(uname -r)"
WORK_DIRECTORY="/tmp/kvdo/"

apt update && \
apt install -y $DEPENDENCIES && \
#git clone https://github.com/dm-vdo/kvdo.git $WORK_DIRECTORY && \
git clone https://github.com/tigerblue77/kvdo.git $WORK_DIRECTORY && \
cd $WORK_DIRECTORY && \
make -j $(nproc) -C /usr/src/linux-headers-`uname -r` M=`pwd` && \
cd - && \
cp ${WORK_DIRECTORY}vdo/kvdo.ko /lib/modules/$(uname -r) && \
cp ${WORK_DIRECTORY}uds/uds.ko /lib/modules/$(uname -r) && \
apt autoremove --purge -y $DEPENDENCIES && \
rm -Rf $WORK_DIRECTORY

# Second part : VDO module
DEPENDENCIES="git make gcc uuid-dev libz-dev libdevmapper-dev libblkid-dev"
WORK_DIRECTORY="/tmp/vdo/"

apt update && \
apt install -y $DEPENDENCIES && \
git clone https://github.com/dm-vdo/vdo.git $WORK_DIRECTORY && \
cd $WORK_DIRECTORY && \
make -j $(nproc) && \
make -j $(nproc) install && \
cd - && \
apt autoremove --purge -y $DEPENDENCIES && \
rm -Rf $WORK_DIRECTORY

depmod
#update-initramfs -u
#echo uds >>/etc/modules && \
#echo kvdo >> /etc/modules
modprobe kvdo
modprobe uds

VDO's part questions (second part) :

  • Can anyone tell me if lines 32-34 are needed ?
  • Don't hesitate to suggest any improvment !
  • Once improved, maybe we could add this script to repository's README.md ?

I tested this script with the following LVM volume creation script :

pvcreate /dev/sdb
vgcreate vgdo /dev/sdb
# I set the slab size to 8GB because my server will have between 20 to 60TB of usable space
lvcreate --type vdo --name vdolv --extents 100%VG --virtualsize 200G --config 'allocation/vdo_slab_size_mb=8192' vgdo
mkfs.ext4 -E nodiscard /dev/vgdo/vdolv

I wrote this script with help of those forum topics :

systemd startup issue (Rocky Linux 8)

I'm encountering random startup issues that appear to be related to VDO because it only affects hosts that use it.

The issue affects especially systemd-tmpfiles-setup.service which sometimes doesn't start properly and ends up in the state inactive (dead). This causes issues with other services that depend on files (directories etc.) created by the systemd-tmpfiles.

I've created a small test VM where I can reproduce the issue.

It's running Rocky Linux 8.5 (so RHEL 8.5 clone) at Proxmox VE with 2 disks attached as Virtio SCSI.
1st disk is used by the OS (boot + root).
2nd disk is VDO on the top of the LVM mounted as follows (based on the RHEL 8 docs):

/dev/mapper/test_vdo     /test     xfs     defaults,noatime,logbsize=128k,x-systemd.device-timeout=0,x-systemd.requires=vdo.service     0 0

I simply reboot that VM multiple times and see that the issue occurs approx. 80% of time while in the remaining approx. 20% cases the system starts just fine.

I've found out that adding the mount option _netdev to the VDO backed mount appears to result in successful start at all times. However I consider this as a workaround only because it shouldn't be necessary to use this option with local disks.

I collected some initial information and attached it as vdotest-logs1.zip. It covers 3 scenarios:
OK - the system starts properly (no configuration changes when compared to the KO scenario)
KO - the system doesn't start properly, units systemd-tmpfiles-setup.service, systemd-update-utmp.service and auditd.service appear to be affected (no configuration changes when compared to the OK scenario)
OK-netdev - the only configuration change is the addition of the mount option _netdev with which the system appears to consistently start properly

How to see the physical space of a disk?

I set up VDO on the disk and want to check the actual disk usage when deduplication is turned off and on
What command should I use?
sudo vdostats --hu?
This should only be the size in VDO

vdostats output columns not aligned

[root@blue vdo]# vdostats --human-readable
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo_testing_logical     10.0G      4.0G      6.0G  40%           97%

Solution:
a). Truncate device name.
b). Move device column to end.

After creating 40TB volume, system panics on reboot

OS: CentOS 7.5 with all patches

From Boot.log

[ OK ] Mounted /home. [ TIME ] Timed out waiting for device dev-mapper-vdo_sda.device. [DEPEND] Dependency failed for /var/lib/plexmediaserver/Media. [DEPEND] Dependency failed for Local File Systems. [DEPEND] Dependency failed for Migrate local SELinux policy changes from the old store structure to the new structure. [DEPEND] Dependency failed for Relabel all filesystems, if necessary.

I created a basic VDO volume testing it out on a USB storage array. The array was a RAID5 of 4x4TB Drives. Since I was going to put video files I made it a 40TB volume named vdo_sda and formatted it xfs.

I was having some issues understanding how to create the systemd boot so I put it in fstab as per the RHEL manual.

Once I had it formatted and ready, I rebooted the system. System started to boot, hung for a while at drawing the white bar and then restarted in emergency mode.

If I rebooted again, it would kernel panic the machine on boot with a bug in SCSI until I unplugged the storage array and booted with out it. If I tried to re-add the usb and mount the volume, I would get a kernel panic

the only detail I can find was the boot log above. There was nothing in the messages file at that time other than standard boot messages until they stop (assuming at the panic). during the panic on boot (I think) it's halting domes as well before it happens.

I recovered by deleting the VDO volume and now the system boots fine, so fairly certain VDO was the culprit.

Are there any other logs I can share ?

Btrfs on top of vdo volume

First of all, sorry if that is the wrong place for this kind of question.

I'm testing vdo (master branch) on an ubuntu 18.04 server and it's shining.
The only thing that I'm missing is snapshot capabilities. So, I'm wondering if there are any concerns using btrfs on top of vdo.
So, my setup would be mdadm managing a software RAID-5, vdo on top of that array managing dedups and btrfs on top of that, managing lightweight snapshots.

I take a survey on docs, but can't find any kind of recommendations/directions

Thanks in advance!

"lvextend" command freezes my Debian 11(.3) server

Hello everyone,

Still working on my project to make VDO work on my Debian 11(.3), I'm testing on my production machine now and encountered a problem while extending a VDOPOOL and VDOdataLV, everything is detailed here. I have not found a fix for the moment.

My problem description is a bit short because I don't really know which logs or screenshots I could show you, don't hesitate to ask. Thanks per advance !

Questions about vdo version

Hey, I've found thatthere's no option on vdo (not means vdoformat or vdostats). Is that what you've designed for?
Otherwise, if it is okay to add a version option as new one on vdo,
My opinion is putting statistics/VDOReleaseVersions.py into vdo-manager/utils or vdo-manager, rather than the latest solution which is putting into vdo-manager/statistics.
Plus, it looks better to state the version on vdomgmnt/VDOService.py just like VDOStatistics.py has its staticsVersion.
I wants some your opinion. Thx

VDO and IO write penalty

Hi everyone.

I am trying to implement VDO in my project. I ran some tests for IOPS - FIO tests on VDO device generated 100 IOPS

IOSTAT shows the following for write test
sdb (RAW dev): 300 iops
dm-5 (VDO dev): 100 iops

If I understand the results correctly, a Write IO penalty of 3 can be applied for VDO (like Write IO penalty for RAID)
But I didn't find any information about write IO penalty for VDO

Is it bug?

Fail to build on Fedora 27

I realize Fedora is not properly supported, tested on a fully-patched CentOS 7 system and everything works.

My system is fully up-to-date using dnf.

$ cat /etc/fedora-release
Fedora release 27 (Twenty Seven)`

$ uname -a
Linux linux.local.lan 4.14.14-300.fc27.x86_64 #1 SMP Fri Jan 19 13:19:54 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Following the instructions:

$ git clone https://github.com/dm-vdo/vdo.git
Cloning into 'vdo'...
remote: Counting objects: 575, done.
remote: Total 575 (delta 0), reused 0 (delta 0), pack-reused 575
Receiving objects: 100% (575/575), 1.02 MiB | 3.87 MiB/s, done.
Resolving deltas: 100% (185/185), done.
$ cd vdo
$ make
for d in examples utils vdo-manager; do         \
  make -C $d all || exit 1; \
done
make[1]: Entering directory '/home/yaffd1/devel/vdo/vdo/examples'
for d in ansible nagios systemd; do         \
  make -C $d all || exit 1; \
done
make[2]: Entering directory '/home/yaffd1/devel/vdo/vdo/examples/ansible'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/yaffd1/devel/vdo/vdo/examples/ansible'
make[2]: Entering directory '/home/yaffd1/devel/vdo/vdo/examples/nagios'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/yaffd1/devel/vdo/vdo/examples/nagios'
make[2]: Entering directory '/home/yaffd1/devel/vdo/vdo/examples/systemd'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/yaffd1/devel/vdo/vdo/examples/systemd'
make[1]: Leaving directory '/home/yaffd1/devel/vdo/vdo/examples'
make[1]: Entering directory '/home/yaffd1/devel/vdo/vdo/utils'
for d in uds vdo; do         \
  make -C $d all || exit 1; \
done
make[2]: Entering directory '/home/yaffd1/devel/vdo/vdo/utils/uds'
gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings   -DUDS_VERSION='"6.1.0.32"'  -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic  -MM -MF .deps/zone.d -MP -MT zone.o zone.c
gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings   -DUDS_VERSION='"6.1.0.32"'  -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic  -MM -MF .deps/MurmurHash3.d -MP -MT MurmurHash3.o ./murmur/MurmurHash3.c
gcc -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings   -DUDS_VERSION='"6.1.0.32"'  -I. -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default -fpic -pedantic    -c -MD -MF .deps/MurmurHash3.d.new -MP -MT MurmurHash3.o ./murmur/MurmurHash3.c -o MurmurHash3.o
./murmur/MurmurHash3.c: In function ‘MurmurHash3_x86_32’:
./murmur/MurmurHash3.c:136:14: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 3: k1 ^= tail[2] << 16;
           ~~~^~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:137:3: note: here
   case 2: k1 ^= tail[1] << 8;
   ^~~~
./murmur/MurmurHash3.c:137:14: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 2: k1 ^= tail[1] << 8;
           ~~~^~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:138:3: note: here
   case 1: k1 ^= tail[0];
   ^~~~
./murmur/MurmurHash3.c: In function ‘MurmurHash3_x86_128’:
./murmur/MurmurHash3.c:212:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 15: k4 ^= tail[14] << 16;
            ~~~^~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:213:3: note: here
   case 14: k4 ^= tail[13] << 8;
   ^~~~
./murmur/MurmurHash3.c:213:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 14: k4 ^= tail[13] << 8;
            ~~~^~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:214:3: note: here
   case 13: k4 ^= tail[12] << 0;
   ^~~~
./murmur/MurmurHash3.c:215:56: error: this statement may fall through [-Werror=implicit-fallthrough=]
            k4 *= c4; k4  = ROTL32(k4,18); k4 *= c1; h4 ^= k4;
                                                     ~~~^~~~~
./murmur/MurmurHash3.c:217:3: note: here
   case 12: k3 ^= tail[11] << 24;
   ^~~~
./murmur/MurmurHash3.c:217:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 12: k3 ^= tail[11] << 24;
            ~~~^~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:218:3: note: here
   case 11: k3 ^= tail[10] << 16;
   ^~~~
./murmur/MurmurHash3.c:218:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 11: k3 ^= tail[10] << 16;
            ~~~^~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:219:3: note: here
   case 10: k3 ^= tail[ 9] << 8;
   ^~~~
./murmur/MurmurHash3.c:219:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 10: k3 ^= tail[ 9] << 8;
            ~~~^~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:220:3: note: here
   case  9: k3 ^= tail[ 8] << 0;
   ^~~~
./murmur/MurmurHash3.c:221:56: error: this statement may fall through [-Werror=implicit-fallthrough=]
            k3 *= c3; k3  = ROTL32(k3,17); k3 *= c4; h3 ^= k3;
                                                     ~~~^~~~~
./murmur/MurmurHash3.c:223:3: note: here
   case  8: k2 ^= tail[ 7] << 24;
   ^~~~
./murmur/MurmurHash3.c:223:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  8: k2 ^= tail[ 7] << 24;
            ~~~^~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:224:3: note: here
   case  7: k2 ^= tail[ 6] << 16;
   ^~~~
./murmur/MurmurHash3.c:224:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  7: k2 ^= tail[ 6] << 16;
            ~~~^~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:225:3: note: here
   case  6: k2 ^= tail[ 5] << 8;
   ^~~~
./murmur/MurmurHash3.c:225:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  6: k2 ^= tail[ 5] << 8;
            ~~~^~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:226:3: note: here
   case  5: k2 ^= tail[ 4] << 0;
   ^~~~
./murmur/MurmurHash3.c:227:56: error: this statement may fall through [-Werror=implicit-fallthrough=]
            k2 *= c2; k2  = ROTL32(k2,16); k2 *= c3; h2 ^= k2;
                                                     ~~~^~~~~
./murmur/MurmurHash3.c:229:3: note: here
   case  4: k1 ^= tail[ 3] << 24;
   ^~~~
./murmur/MurmurHash3.c:229:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  4: k1 ^= tail[ 3] << 24;
            ~~~^~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:230:3: note: here
   case  3: k1 ^= tail[ 2] << 16;
   ^~~~
./murmur/MurmurHash3.c:230:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  3: k1 ^= tail[ 2] << 16;
            ~~~^~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:231:3: note: here
   case  2: k1 ^= tail[ 1] << 8;
   ^~~~
./murmur/MurmurHash3.c:231:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  2: k1 ^= tail[ 1] << 8;
            ~~~^~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:232:3: note: here
   case  1: k1 ^= tail[ 0] << 0;
   ^~~~
./murmur/MurmurHash3.c: In function ‘MurmurHash3_x64_128’:
./murmur/MurmurHash3.c:302:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 15: k2 ^= ((uint64_t)tail[14]) << 48;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:303:3: note: here
   case 14: k2 ^= ((uint64_t)tail[13]) << 40;
   ^~~~
./murmur/MurmurHash3.c:303:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 14: k2 ^= ((uint64_t)tail[13]) << 40;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:304:3: note: here
   case 13: k2 ^= ((uint64_t)tail[12]) << 32;
   ^~~~
./murmur/MurmurHash3.c:304:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 13: k2 ^= ((uint64_t)tail[12]) << 32;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:305:3: note: here
   case 12: k2 ^= ((uint64_t)tail[11]) << 24;
   ^~~~
./murmur/MurmurHash3.c:305:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 12: k2 ^= ((uint64_t)tail[11]) << 24;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:306:3: note: here
   case 11: k2 ^= ((uint64_t)tail[10]) << 16;
   ^~~~
./murmur/MurmurHash3.c:306:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 11: k2 ^= ((uint64_t)tail[10]) << 16;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:307:3: note: here
   case 10: k2 ^= ((uint64_t)tail[ 9]) << 8;
   ^~~~
./murmur/MurmurHash3.c:307:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 10: k2 ^= ((uint64_t)tail[ 9]) << 8;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:308:3: note: here
   case  9: k2 ^= ((uint64_t)tail[ 8]) << 0;
   ^~~~
./murmur/MurmurHash3.c:309:56: error: this statement may fall through [-Werror=implicit-fallthrough=]
            k2 *= c2; k2  = ROTL64(k2,33); k2 *= c1; h2 ^= k2;
                                                     ~~~^~~~~
./murmur/MurmurHash3.c:311:3: note: here
   case  8: k1 ^= ((uint64_t)tail[ 7]) << 56;
   ^~~~
./murmur/MurmurHash3.c:311:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  8: k1 ^= ((uint64_t)tail[ 7]) << 56;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:312:3: note: here
   case  7: k1 ^= ((uint64_t)tail[ 6]) << 48;
   ^~~~
./murmur/MurmurHash3.c:312:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  7: k1 ^= ((uint64_t)tail[ 6]) << 48;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:313:3: note: here
   case  6: k1 ^= ((uint64_t)tail[ 5]) << 40;
   ^~~~
./murmur/MurmurHash3.c:313:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  6: k1 ^= ((uint64_t)tail[ 5]) << 40;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:314:3: note: here
   case  5: k1 ^= ((uint64_t)tail[ 4]) << 32;
   ^~~~
./murmur/MurmurHash3.c:314:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  5: k1 ^= ((uint64_t)tail[ 4]) << 32;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:315:3: note: here
   case  4: k1 ^= ((uint64_t)tail[ 3]) << 24;
   ^~~~
./murmur/MurmurHash3.c:315:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  4: k1 ^= ((uint64_t)tail[ 3]) << 24;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:316:3: note: here
   case  3: k1 ^= ((uint64_t)tail[ 2]) << 16;
   ^~~~
./murmur/MurmurHash3.c:316:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  3: k1 ^= ((uint64_t)tail[ 2]) << 16;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:317:3: note: here
   case  2: k1 ^= ((uint64_t)tail[ 1]) << 8;
   ^~~~
./murmur/MurmurHash3.c:317:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  2: k1 ^= ((uint64_t)tail[ 1]) << 8;
            ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:318:3: note: here
   case  1: k1 ^= ((uint64_t)tail[ 0]) << 0;
   ^~~~
./murmur/MurmurHash3.c: In function ‘MurmurHash3_x64_128_double’:
./murmur/MurmurHash3.c:409:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case 15: k2 ^= ((uint64_t)tail[14]) << 48;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:410:5: note: here
     case 14: k2 ^= ((uint64_t)tail[13]) << 40;
     ^~~~
./murmur/MurmurHash3.c:410:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case 14: k2 ^= ((uint64_t)tail[13]) << 40;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:411:5: note: here
     case 13: k2 ^= ((uint64_t)tail[12]) << 32;
     ^~~~
./murmur/MurmurHash3.c:411:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case 13: k2 ^= ((uint64_t)tail[12]) << 32;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:412:5: note: here
     case 12: k2 ^= ((uint64_t)tail[11]) << 24;
     ^~~~
./murmur/MurmurHash3.c:412:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case 12: k2 ^= ((uint64_t)tail[11]) << 24;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:413:5: note: here
     case 11: k2 ^= ((uint64_t)tail[10]) << 16;
     ^~~~
./murmur/MurmurHash3.c:413:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case 11: k2 ^= ((uint64_t)tail[10]) << 16;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:414:5: note: here
     case 10: k2 ^= ((uint64_t)tail[ 9]) << 8;
     ^~~~
./murmur/MurmurHash3.c:414:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case 10: k2 ^= ((uint64_t)tail[ 9]) << 8;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:415:5: note: here
     case  9: k2 ^= ((uint64_t)tail[ 8]) << 0;
     ^~~~
./murmur/MurmurHash3.c:416:63: error: this statement may fall through [-Werror=implicit-fallthrough=]
       k2 *= c2; k2  = ROTL64(k2,33); k2 *= c1; hA2 ^= k2; hB2 ^= k2;
                                                           ~~~~^~~~~
./murmur/MurmurHash3.c:418:5: note: here
     case  8: k1 ^= ((uint64_t)tail[ 7]) << 56;
     ^~~~
./murmur/MurmurHash3.c:418:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case  8: k1 ^= ((uint64_t)tail[ 7]) << 56;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:419:5: note: here
     case  7: k1 ^= ((uint64_t)tail[ 6]) << 48;
     ^~~~
./murmur/MurmurHash3.c:419:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case  7: k1 ^= ((uint64_t)tail[ 6]) << 48;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:420:5: note: here
     case  6: k1 ^= ((uint64_t)tail[ 5]) << 40;
     ^~~~
./murmur/MurmurHash3.c:420:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case  6: k1 ^= ((uint64_t)tail[ 5]) << 40;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:421:5: note: here
     case  5: k1 ^= ((uint64_t)tail[ 4]) << 32;
     ^~~~
./murmur/MurmurHash3.c:421:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case  5: k1 ^= ((uint64_t)tail[ 4]) << 32;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:422:5: note: here
     case  4: k1 ^= ((uint64_t)tail[ 3]) << 24;
     ^~~~
./murmur/MurmurHash3.c:422:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case  4: k1 ^= ((uint64_t)tail[ 3]) << 24;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:423:5: note: here
     case  3: k1 ^= ((uint64_t)tail[ 2]) << 16;
     ^~~~
./murmur/MurmurHash3.c:423:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case  3: k1 ^= ((uint64_t)tail[ 2]) << 16;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:424:5: note: here
     case  2: k1 ^= ((uint64_t)tail[ 1]) << 8;
     ^~~~
./murmur/MurmurHash3.c:424:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
     case  2: k1 ^= ((uint64_t)tail[ 1]) << 8;
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./murmur/MurmurHash3.c:425:5: note: here
     case  1: k1 ^= ((uint64_t)tail[ 0]) << 0;
     ^~~~
cc1: all warnings being treated as errors
make[2]: *** [Makefile:213: MurmurHash3.o] Error 1
make[2]: Leaving directory '/home/yaffd1/devel/vdo/vdo/utils/uds'
make[1]: *** [Makefile:26: all] Error 1
make[1]: Leaving directory '/home/yaffd1/devel/vdo/vdo/utils'
make: *** [Makefile:31: all] Error 1
$

deleting Files high write-latency and freeze xfs during

Hello Team,

is there an specific Optimize possible for delete files?

Issue = High Write Latency during Write

no Issues when adding new Data

physical disk = 4TB
Logical = 8TB (vdo)

vdo create --device=/dev/sdb --sparseIndex=enabled --name=vdo0 --deduplication=enabled --compression=enabled --writePolicy=sync --vdoLogicalSize=8T --vdoLogicalThreads=8 --vdoPhysicalThreads=8 --vdoBioThreads=8 --vdoCpuThreads=8 --vdoAckThreads=8 --vdoHashZoneThreads=8 --blockMapCacheSize=256M --force

with XFS on top and running NFS Server... when i delete data the whole volume is locked and Delete takes several Seconds.... Volume latency up to 10K ms

when i don't use VDO its fast

i can change blockMapCache and makes no Change

"vdo_slab_size_mb" and "vdo_physical_threads" incompatible values ?

Hello there,

I'm encountering a problem with the following LVM VDO metadata profile:

# Custom configuration for VDO not using compression/deduplication
# Custom parameters based on: https://is.muni.cz/th/rq7e2/petrovic_diploma_thesis.pdf

allocation {
  vdo_use_compression=0
  vdo_use_deduplication=0
  vdo_use_metadata_hints=1
  vdo_minimum_io_size=4096
  vdo_block_map_cache_size_mb=16384
  vdo_block_map_period=16380
  vdo_check_point_frequency=0
  vdo_use_sparse_index=0
  vdo_index_memory_size_mb=256
  vdo_slab_size_mb=8192
  vdo_ack_threads=$((VCPU_COUNT/4))
  vdo_bio_threads=$VCPU_COUNT
  vdo_bio_rotation=64
  vdo_cpu_threads=$((VCPU_COUNT/2))
  vdo_hash_zone_threads=$((VCPU_COUNT/4))
  vdo_logical_threads=$((VCPU_COUNT/4))
  vdo_physical_threads=$((VCPU_COUNT/4))
  vdo_write_policy=\"sync\"
  vdo_max_discard=1
}

FYI, on my system:

VCPU_COUNT=8

When I run lvcreate using the previous metadata profile:

DESTINATION_LVM_VG="/dev/Pepper-Potts-vg"
VDOLV_NAME="ZEROED-VDOLV-1"

lvcreate -y --vdopool "ZEROED-VDOPOOL-1" --name $VDOLV_NAME --size 12G --virtualsize 24G --metadataprofile $LVM_METADATA_PROFILE_NAME $DESTINATION_LVM_VG

I get the following error:

Wiping vdo signature on /dev/Pepper-Potts-vg/ZEROED-VDOPOOL-1.
  The VDO volume can address 8 GB in 1 data slab.
  It can grow to address at most 64 TB of physical storage in 8192 slabs.
  If a larger maximum size might be needed, use bigger slabs.
device-mapper: reload ioctl on  (254:6) failed: Erreur d'entrée/sortie
Failed to activate new LV Pepper-Potts-vg/ZEROED-VDOLV-1.
Failed to find logical volume "Pepper-Potts-vg/ZEROED-VDOPOOL-1"

I did some tests and found that the problem comes from these lines :

vdo_slab_size_mb=8192

and

vdo_physical_threads=$((VCPU_COUNT/4))

Here are the results of my different tests:

vdo_physical_threads value
1 (default value) 2 4 8
vdo_slab_size_mb value 2048 (default value)
4096
8192

I feel that I'm doing something wrong but don't really know what 😅 thanks per advance !

PS: I need 8GB slabs to make my VDO volume ready for 64TB total volume. I choosed 8GB even if 32GB are advised on RedHat documentation because this volume will never need to be expanded more than 64TB.

vdoformat.c:22:25: fatal error: blkid/blkid.h: No such file or dir

Tried to run a make on this latest repo in CentOS7 with a 5.x kernel, and see this...

echo "Building vdoforcerebuild from vdoforcerebuild.o libuser.a ../base/libvdo.a ../../uds/libuds.a"
Building vdoforcerebuild from vdoforcerebuild.o libuser.a ../base/libvdo.a ../../uds/libuds.a
cc   vdoforcerebuild.o libuser.a ../base/libvdo.a ../../uds/libuds.a -ldl -pthread -lz -lrt -lm -luuid -o vdoforcerebuild
cc -fPIC -fpic -D_GNU_SOURCE -g -O3 -fno-omit-frame-pointer -Wall -Wcast-align -Werror -Wextra -Winit-self -Wlogical-op -Wmissing-include-dirs -Wpointer-arith -Wredundant-decls -Wunused -Wwrite-strings    -std=c99 -Wbad-function-cast -Wcast-qual -Wfloat-equal -Wformat=2 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wswitch-default  -pedantic  -I../base -I../../uds -Wno-write-strings -DINTERNAL -DCURRENT_VERSION="\"6.2.3.114\""   -c -MMD -MF .deps/vdoformat.d.new -MP -MT vdoformat.o -ovdoformat.o vdoformat.c
vdoformat.c:22:25: fatal error: blkid/blkid.h: No such file or directory
 #include <blkid/blkid.h>
                         ^
compilation terminated.
make[3]: *** [vdoformat.o] Error 1
make[3]: Leaving directory `/root/tmp/vdo/utils/vdo/user'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/root/tmp/vdo/utils/vdo'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/root/tmp/vdo/utils'
make: *** [all] Error 1

question about vdo write behavior

hi, Gurus

I have a question for the dedup write behavior:

from this article , it says :

" - Once the acknowledgment is complete, an attempt is made to deduplicate the block by computing a MurmurHash-3 signature of the block data, which is sent to the VDO index.

  • If the VDO index contains an entry for a block with the same signature, kvdo reads the indicated block and does a byte-by-byte comparison of the two blocks to verify that they are identical.
  • If they are indeed identical, then kvdo updates its block map so that the logical block points to the corresponding physical block and releases the allocated physical block."

why kvdo needs a byte-by-byte comparison? is that to say the kvdo will issue a read operation from underlying disk to get the indicated block, thus there is one more read request during dedup operation?

Thank you.

question about unsupported configuration

hello

Can I ask why you don't support this configuration?

If you don't mind, it would be great to explain why you don't support each one.

The following configurations are not supported:

  • VDO on top of VDO volumes: storage → VDO → LVM → VDO
  • VDO on top of LVM Snapshots
  • VDO on top of LVM Cache
  • VDO on top of the loopback device
  • VDO on top of LVM Thin Provisioning
  • Encrypted volumes on top of VDO: storage → VDO → DM-Crypt
  • Partitions on a VDO volume: fdisk, parted, and similar partitions
  • RAID (LVM, MD, or any other type) on top of a VDO volume

link : https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/vdo-qs-requirements

Thank you

Recover data from VDO after OS reinstall

Hi there, I have created 2 vdo devices (/dev/mapper/vdo1, /dev/mapper/vdo2) on 2 physical devices (/dev/sdc, /dev/sdd).

  • created Logical Volume(vdo_lvm) on 2 vdo devices.
  • Now my system crashed and reinstalled OS.
    Can anyone know how to recover data from logical volume (vdo_lvm) ?

in my case i'm unable to find vdo devices, vgexport, no data.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.