Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.345.933 Times

FL-COW for Linux 0.9

Company: Davide Libenzi
Date Added: September 24, 2013  |  Visits: 517

FL-COW for Linux

Report Broken Link
Printer Friendly Version


Product Homepage
Download (41 downloads)

<br /><br />Developer comments<br /><br />The FL-COW 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.<br /><br />A recent Arch's 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, I'm working with kernel sources? The problem is that I do a:<br /><br />cp -al linux-2.6-test6 linux-2.6-test6.vm-fix<br /><br />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.<br /><br />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:<br /><br />diff -Nru linux-2.6-test6 linux-2.6-test6.vm-fix<br /><br />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.<br /><br />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:<br /><br />Is the file being opened with O_RDWR or O_WRONLY modes?<br />Is the file inside one of the paths listed inside the FLCOW_PATH environment variable?<br />Is the file being opened a regular file?<br />Is the (struct stat)->st_nlink variable greater than one?<br /><br />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):<br /><br />./configure --prefix=/usr<br />make<br />make check<br />su<br />make install<br /><br />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.<br /><br />This is the relevant section of my .bashrc file:<br /><br />export LD_PRELOAD=/usr/lib/libflcow.so:$LD_PRELOAD<br />export FLCOW_PATH=/usr/src/:/home/davide/arch-archives/<br />

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Archive Break Cow Cow Linux Environment Fl Flcow Path Forgot Inside Installed Library Links Linux Linux Test Original Problem Start Variable Working Write
Users rating: 0/10

License: Freeware Size: 286.72 KB
FL-COW FOR LINUX RELATED
Development Editors  -  Linux Test Project 20100228
The Linux Test Project is a group aimed at testing and improving Linux. The goal of the LTP is to deliver a suite of automated testing tools for Linux as well as publishing the results of tests we run. LTP invites community to contribute in new...
8.41 MB  
Utilities  -  File Roller 2.18.4 / 2.19.90
File Roller project is an archive manager for the GNOME environment. Archive manager means that you can: - Create and modify archives. - View the content of an archive. - View a file contained in the archive. - Extract files from the...
1.5 MB  
Miscellaneous  -  The Home Library Archive 0.91
The Home Library Archive will help you categorize and keep track of your books by Library of Congress format.Automatically add new information from the Library of Congress or Amazon whenever you add a new book. Plain output appearance, but robust...
61.44 KB  
Programming  -  gBootRoot 1.5.0
gBootRoot makes the construction and development of distributions fun and simple with its Root Methods (Yard) and user-mode-linux test bed. Finish the product with a Boot Method (2-disk compression supported). Normal (non-root) users can make...
6.4 MB  
Screen Savers  -  3D Numeric Clock 2.0
This is our new 3D screensaver clock, made in the technocratic style. Want to take a break while working on the computer? No problem, start the screensaver and you will always know the exact time throwing a glance at your monitor. Large numbers...
3.47 MB  
Desktop Utilities  -  Extract archive 1.11
Extract archive is a service menu that allows you to extract any archive file that ark is capable to read + ACE files. You can chose to extract here, or in a subdirectory. In that case, it asks you the name of the subdirectory where you want to...
 
Desktop Toys  -  Hydra for Linux 1
Hydra is a GTK and Emerald theme for GNOME. How to install? ?*A* Right click on your desktop and select Change Desktop Background ?*A* Click on the first tab: Theme ?*A* Drag and drop the theme's archive in the...
327.68 KB  
Utilities  -  Lunar Linux 1.6.1 / 1.6.2 Beta 1
Lunar is a source based Linux distribution developed by a talented team of programmers from all over the world, working together to extend the Linux technology into better-tailored and more optimized software for the end user. Lunar uses and...
257 MB  
Libraries  -  SVK::Help::Environment 1.08
SVK::Help::Environment is a list of svks environment variables. A number of system environment variables influence how svk runs. Below is a complete list of variables you can use to alter svks behavior. All Platforms $SVKROOT Unless you...
266.24 KB  
Programming  -  BabyDevelop 10.3.0
BabyDevelop is a lightweight Integrated Development Environment for C, C++, Qt and support for the GP2X/SDL. Easy to use, fast to start and compile, expandable in functional range for anyone. BabyDevelop can be used on Mac OS X,...
819.2 KB  
NEW DOWNLOADS IN SHELL & DESKTOP, FILE UTILITIES
Shell & Desktop  -  Glunarclock 0.32.4
GNOME Lunar Clock Applet displays the current phase of the Moon as an applet for the gnome panel. In the properties box you can choose between a real image Features Pointing with the mouse at the applet...
522.24 KB  
Shell & Desktop  -  Fekete 5
Icon theme for Linux For all possible desktop, and Linux distro Special additives: Suse's Yast icons. Xfce system icons, and archaic mimetypes icons Mandriva "special placed" status icons. Libreoffice icons.
71.59 MB  
Shell & Desktop  -  XFast 0.9
XFast is a slim and lightweighted desktop environment that incorporates X and Window Manager within the same project.
1.15 MB  
Shell & Desktop  -  print selection konqueror service menu 0.1
This service menu give you a *silly* way to print fast your selection on konqueror USE select the text copy the text rigt button on the webpage select print selection a kdialog will appear paste the text
10.24 KB  
Shell & Desktop  -  Faenza 1.2
Faenza icon theme is available to install for Ubuntu users via a PPA repository. View the README file for instructions and a list of known issues.
23.49 MB  
File Utilities  -  Active@ KillDisk Linux Console 9.1.1110
Active@ KillDisk for Linux (Console) is a powerful utility that will: wipe confidential data from unused space on your hard drive; erase data from partitions or from an entire hard disk; destroy data permanently. Active@ KillDisk for Linux...
11.07 MB  
File Utilities  -  Metalinks 5.1
Metalinks is a project to facilitate data distribution over mirrors and P2P networks. It does so by defining an XML format and the tools to handle these. The metalink files contain all the information needed to download and verify files.
5.05 MB  
File Utilities  -  PUFS 0.0.2c
PUFS - Peer Union File System - is a poor man's na???ve distributed file system built on top of FUSE, hence running totally in user space. The project is distributed under the GPL license. PUFS' philosophy is somewhat in line...
408.58 KB  
File Utilities  -  frfs 0.0.3
frfs implements a fully functional in-RAM filesystem using the FUSE framework. Overview: With Linux, creating RAM-backed file system is easy: su to root, mount a tmpfs some place, come back to plain user. Ah, but...
153.6 KB  
File Utilities  -  twander 3.231
'twander' is a macro-programmable Filesystem Browser that runs on both Unix-like systems as well as Win32 systems. It embraces the best ideas of both similar GUI-driven programs (Konqueror, Windows Explorer) as well as text-based interfaces...
737.28 KB