FL-COW 0.6
Sponsored Links
FL-COW 0.6 Ranking & Summary
File size:
0.29 MB
Platform:
Any Platform
License:
GPL (GNU General Public License)
Price:
Downloads:
1465
Date added:
2005-10-21
Publisher:
Davide Libenzi
FL-COW 0.6 description
The library born to solve a problem I had when working with the Linux Kernel archives that I use to replicate using hard links. Replicating archives with hard links is both fast and space saving, and it helped me a lot in speeding up my operations when working on the kernel source.
A recent Archs mailing list thread that suggested that use of hard links to create archive cached revisions pushed me to write the FL-COW library. What is the problem with hard links when, for example, Im working with kernel sources? The problem is that I do a:
$ cp -al linux-2.6-test6 linux-2.6-test6.vm-fix
This command replicate at light speed the vanilla (Linus) archive into an archive I can start hacking on. The problem is that I have to manually remember to break hard links on files I start working on, otherwise even the original copy get modified.
This might break because I forgot doing so and it might also break because other tools might eventually touch file they were not supposed to touch. If it happens that I forget to decouple a file hard link, the next command:
$ diff -Nru linux-2.6-test6 linux-2.6-test6.vm-fix
will skip all changes done on the file I forgot, because my changes has been applied to the original file also. The library works by intercepting all file open operations happening inside a configured path list, and by decoupling the hard link with a COW if a write operation is requested.
The library is installed using the environment variable LD_PRELOAD and in this way it is able to hook glibc open(2) functions and it is able to perform the COW when necessary. The environment variable FLCOW_PATH control which paths should be subject to COWing. The logic that the library follow to know if a file should be COWed is the following:
Is the file being opened with O_RDWR or O_WRONLY modes?
Is the file inside one of the paths listed inside the FLCOW_PATH environment variable?
Is the file being opened a regular file?
Is the (struct stat)->st_nlink variable greater than one?
If all those answers are yes, the file is COWed by leaving the calling application with a non hard linked version of the file. To setup the library you must start with building it doing a (for example):
$ ./configure --prefix=/usr
$ make
$ make check
$ su
# make install
If all those steps complete correctly you will have your library installed in /usr/lib/libflcow.so that is ready for use. I use to set the LD_PRELOAD inside my .bashrc file so that I am sure that no tool will screw up my hard-linked archives.
This is the relevant section of my .bashrc file:
export LD_PRELOAD=/usr/lib/libflcow.so:$LD_PRELOAD
export FLCOW_PATH=/usr/src/:/home/davide/arch-archives/
A recent Archs mailing list thread that suggested that use of hard links to create archive cached revisions pushed me to write the FL-COW library. What is the problem with hard links when, for example, Im working with kernel sources? The problem is that I do a:
$ cp -al linux-2.6-test6 linux-2.6-test6.vm-fix
This command replicate at light speed the vanilla (Linus) archive into an archive I can start hacking on. The problem is that I have to manually remember to break hard links on files I start working on, otherwise even the original copy get modified.
This might break because I forgot doing so and it might also break because other tools might eventually touch file they were not supposed to touch. If it happens that I forget to decouple a file hard link, the next command:
$ diff -Nru linux-2.6-test6 linux-2.6-test6.vm-fix
will skip all changes done on the file I forgot, because my changes has been applied to the original file also. The library works by intercepting all file open operations happening inside a configured path list, and by decoupling the hard link with a COW if a write operation is requested.
The library is installed using the environment variable LD_PRELOAD and in this way it is able to hook glibc open(2) functions and it is able to perform the COW when necessary. The environment variable FLCOW_PATH control which paths should be subject to COWing. The logic that the library follow to know if a file should be COWed is the following:
Is the file being opened with O_RDWR or O_WRONLY modes?
Is the file inside one of the paths listed inside the FLCOW_PATH environment variable?
Is the file being opened a regular file?
Is the (struct stat)->st_nlink variable greater than one?
If all those answers are yes, the file is COWed by leaving the calling application with a non hard linked version of the file. To setup the library you must start with building it doing a (for example):
$ ./configure --prefix=/usr
$ make
$ make check
$ su
# make install
If all those steps complete correctly you will have your library installed in /usr/lib/libflcow.so that is ready for use. I use to set the LD_PRELOAD inside my .bashrc file so that I am sure that no tool will screw up my hard-linked archives.
This is the relevant section of my .bashrc file:
export LD_PRELOAD=/usr/lib/libflcow.so:$LD_PRELOAD
export FLCOW_PATH=/usr/src/:/home/davide/arch-archives/
FL-COW 0.6 Screenshot
FL-COW 0.6 Keywords
COW
FL
LD
FLCOW
COW 0.6
PATH
Copy on write
Hard links
file
library
hard
links
Preload
write
FL-COW
FL-COW 0.6
Bookmark FL-COW 0.6
FL-COW 0.6 Copyright
WareSeeker periodically updates pricing and software information of FL-COW 0.6 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of FL-COW 0.6 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
unix hard links
hard links linux
linux hard links
hard links windows
hard links soft links
copy on write semantics
ntfs hard links
hard links vs soft links
windows hard links
library supplies
links uk
hard links and soft links
hard link
ln hard links
what is copy on write
hard links unix
tv links
public library
Related Software
ccollect does (pseudo) incremental full backups with different exclude lists, using hard links and rsync. Free Download
cowdancer allows copy-on-write file access. Free Download
CryptoFS is an encryption filesystem for LUFS. Free Download
Vsound is a Linux/Unix application which allows you to digitally record the output of another program such as RealPlayer. Free Download
FileBackup is an easy-to-use backup and restore utility with GUI. Free Download
LibTorrent is a BitTorrent library written in C++ for Unix. Free Download
SDL_vnc library was created to offer a VNC client system. Free Download
libisofs is a library to pack up hard disk files and directories into an ISO 9660 disk image. Free Download
Latest Software
Popular Software
Favourite Software