[CentOS] Copy on write loop block driver

Wed Aug 27 04:09:29 UTC 2014
Jason Pyeron <jpyeron at pdinc.us>


> -----Original Message-----
> From: centos-bounces at centos.org 
> [mailto:centos-bounces at centos.org] On Behalf Of John R Pierce
> Sent: Tuesday, August 26, 2014 20:11
> To: centos at centos.org
> Subject: Re: [CentOS] Copy on write loop block driver
> On 8/26/2014 5:03 PM, Jason Pyeron wrote:
> > What am I doing wrong here?
> A) you don't create anything in /dev, the driver should be 
> using devfs 
> to create its own devnodes on the fly as needed.

I assumed such, but it did not work.

> B) you apparently never loaded the driver.     see 
> http://www.atcomputing.nl/Tools/cowloop/loadunload.html
> says:

root at localhost ~/cowloop-
# cat RELEASENOTES.3.2.0
This is version 3.2 of the Copy on Write loop driver 'cowloop'
by ATComputing in Nijmegen, The Netherlands.
Release date: September 2009.

Cowloop wil be part of the 2.6.31 kernel. This has lead to some
changes in the cowloop utils. Obviously the kernel module has
been removed from the distribution, only the utilities remain.

root at localhost ~/cowloop-
# modprobe cowloop
FATAL: Module cowloop not found.

root at localhost ~/cowloop-
# find | grep loop

So there is no loop driver compiled from this source, but the docs say it is supposed to be included in 

root at localhost ~/cowloop-
# yum whatprovides *cowloop*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
No Matches found

root at localhost ~
# rpm -iv kernel-2.6.32-431.el6.src.rpm

It looks like the kernel does not have it set

root at localhost ~/rpmbuild/BUILD
# grep -ri cowloop kernel-2.6.32-431.el6/
kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64/temp-i686-debug-final:# CONFIG_COWLOOP is not set
kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64/.config.old:# CONFIG_COWLOOP is not set
kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64/temp-i686-final:# CONFIG_COWLOOP is not set
kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64/config-generic:# CONFIG_COWLOOP is not set

I cannot make this a module:

root at localhost ~/rpmbuild/BUILD/kernel-2.6.32-431.el6/linux-2.6.32-431.el6.x86_64
# make
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf -s arch/x86/Kconfig
.config:1304:warning: symbol value 'm' invalid for BLK_DEV_COW_COMMON
# configuration written to .config