Servers with big memory Disk Write caches and very write intensive environments can have long snapshot times (greater than 1 second). When the CDP DeviceDriver does a snapshot, as part of the process it must first flush the Disk Write cache buffer (writes to disk cached in memory but not yet committed to disk). During this time the device is locked and I/O reads and writes can not proceed. This lock period is logged by the CDP Device Driver to syslog. The lock period is normally very short, on the order of .000X or .0X seconds. If the write cache is very big and the disk is very busy with writes, it can take a long period of time to flush the write cache to disk.
In 1.45.0, we first flush the File System Write Cache to disk BEFORE taking the snapshot. This feature gets the time consuming flush of a very large file system cache (possibly multiple Gigabytes) out of the way BEFORE we lock the device. Even on highly write intensive servers the lock is very short. We worked through this issue with a customer that had thousands of write transactions per minute on their MySQL Server.
We ran into a problem when doing this sync. There is a system call called sync() (this is what the sync command line utility calls). It works great, but provides a challenge. It syncs ALL devices, not just the device we are backing up. It would potentially be bad to sync ALL devices when you only need to sync one device.
To solve this issue, we added a new sync IOCTL call on the R1Soft CDP Device Driver. The new sync IOCTL only syncs() a specific device at the Kernel level.
Why your IOCTL Call is Failing
The error is occurring because your user space Agent is newer than your Kernel Module. And the older Kernel Module does not support the new sync() call.
It is ok to ignore the error. The sync is not being done and it will not hurt anything.
How could this be? The 1.45.0 Agent comes bundled with binary Kernel Modules. You are using a custom or non-standard Kernel and need a Kernel build form source using CKI.
The source build system can only use one source tree and we can only support one source tree right now (stable). Since Device Driver changes are critical, we need to have some people use the changes in the field before we mark them stable.
So you are actually NOT running the latest Device Driver.
Linux Agent 2.1.0 is almost complete and will be released in April. The release is centered around making Device Driver support much easier.
One of the many improvements includes the ability for custom device driver builds to be supported in both stable and pre-release versions. In addition, every Device Driver build we have historically released will be supported starting with 2.0.
Linux Agent 2.x will also make sure your Device Driver and Agent are compatible.
In the mean time, if you have a problem system you need to run 1.45.0 on and it can not use a binary CDP Device Driver and needs CKI, please let us now via tech support. We will work with you on a custom build.