Archive for the ‘Storage’ Category

New updates: RapidDisk and RapidCache Stable release 2.0.1b and more.

March 28th, 2012 Comments off

Late last week I released 2.0.1b, with a bug fix (bug #5) in the rxadm admin tool and a few cleanup changes in some of the module print messages. More details can be read here:

I have also been working on an ARM based Linux distribution called RapidDisk LX which brings RapidDisk functionality as a SCSI Target. More details of it can be read here:

This distribution has already been listed in the waiting list at DistroWatch.

To stay updated on this project, please follow the Google+ page.

Some updates: New RapidDisk website, release, patches and more.

February 24th, 2012 Comments off

Well, it has been quite some time since I posted an update here. A lot of new and exciting things have been happening with the RapidDisk project. For instance, there is now a new dedicated project website located at This new website has been using the RapidDisk Google+ page as the venue for latest project updates.

Also, in recent weeks, I released a stable version of 1.4 alongside a patch to build for older 2.6.18 kernels; that is, for those still using Red Hat or CentOS 5.x.

I have been spending most of my free time focusing on the 2.0 beta release. I have made a lot of progress and continue to do so. I should have something available in the next two weeks. RapidDisk 2.0 introduces a new module alongside rxdsk.ko called RapidCache or rxcache.ko. The purpose of RapidCache is to use an rxdsk volume as a caching volume for any local/remote physical block device via the device-mapper framework. The only supported caching is Write-Through and Reads (safest for data integrity). I need to find some way to better gauge my performance benchmarks because in some cases, I see a 17% performance boost to the standalone SATA drive while in other cases I notice some slightly worse performance. Obviously, this is primarily intended for certain environments and I will provide all details on the Wiki as soon as I (1) test on other Linux kernels, (2) add support for it in the rxadm administration utility, (3) and capture some cleaner performance data points.

Once I release it into beta and make sure it is stable, I will then try to see about getting it into the Linux kernel’s staging tree.

Announcement: RapidDisk (rxdsk) 1.3.1b Stable release

December 10th, 2011 Comments off

I just released RapidDisk version 1.3.1b. The changelog documents the following changes:

  • Added check in management utility to make sure that rxdsk node is present before archiving and restoring compressed/ decompressed images.

This is a very minor update and is mostly for the restoration portion of the utility so we just don’t accidentally create a file named /dev/rxd[x] instead of using an actual rxdsk volume, if that volume is not present on the system.

One other note, the same 1.3b patch to enable the module to build on kernel 2.6.18 will still work with this release.

For additional information on the RapidDisk project, please visit its official wiki page. Or to stay updated, just follow the project on the RapidDisk Google+ page.

Announcement: Patch for RapidDisk (rxdsk) 1.3 to build for 2.6.18

November 26th, 2011 Comments off

As promised in the 1.3b release, I just uploaded a patch for RapidDisk 1.3 to be able to build and install the module on the older 2.6.18 Linux kernel. That is, if you are still using Red Hat or CentOS 5.x. To apply the patch, just navigate to the module/drivers/block path from the root of the project package, make sure the patch is copied in there, and type:

$ patch -p0< rxdsk1.3_linux-2.6.18.patch

For additional information on the RapidDisk project, please visit its official wiki page. Or to stay updated, just follow the project on the RapidDisk Google+ page.

Announcement: RapidDisk (rxdsk) 1.3b Stable release

November 23rd, 2011 4 comments

I just released RapidDisk version 1.3b. The changelog documents the following changes:

  • Added new feature to archive/restore an rxd volume to/from a zlib compressed data file (many thanks to Simon Ball for suggesting a similar feature).
  • Added discard support.
  • Added an ioctl to handle an invalid query sent by later versions of udev that correspond with Linux kernels 2.6.35 and above.
  • Also integrated patch submitted by James Plummer of Stratus Technologies to address 32 bit limitation of rxadm utility rxdsk creation/resizing by casting the variable to a 64-bit type. Patch also included minor clean up code/optimizations for the same rxadm util.

Within the next week I will post a patch of 1.3 for the Linux 2.6.18 kernel.

Also, I postponed the integration of LZO compression/decompression into the kernel module until 1.4. I have still trying to get past a couple of hurdles for a stable implementation.

You can read more about this on the project’s wiki page. Also, just a reminder to all those interested, recently I created a Google+ page for the project, if you wish to stay posted on the latest news of this open source project.

Announcement: RapidDisk (rxdsk) 1.2b Stable release

August 27th, 2011 6 comments

I am writing to announce the update release of my Linux RAM disk kernel module RapidDisk (rxdsk). It is currently at a stable 1.2b release with optimizations to the configuring of the request queue of each rxd block device and also with added checks for the module to build from kernels 2.6.32 all the way to the latest (currently 3.0.3); this includes the addressing of the deprecated command blk_queue_ordered() found in 2.6.37 and later. More information can be found at

Announcement: RapidDisk (rxdsk) 1.1b Stable release

August 20th, 2011 2 comments

I am writing to announce the update release of my Linux RAM disk kernel module RapidDisk (rxdsk). It is currently at a stable 1.1b release with added support for dynamic resizing of attached rxdsk volumes. More information can be found at

Note - So far this has only been tested and seen as fully functional on the 2.6.32 and 2.6.35 kernels. There is a plan to upmerge to the 3.x line by the next official release. This will not build in 2.6.37 due to the deprecation of the blk_queue_ordered() function routine. To build it for 2.6.37 and later, please replace the following line (used once in module/drivers/block/rxdsk.c file):

blk_queue_ordered(rxdsk->rxdsk_queue, QUEUE_ORDERED_TAG, NULL);


blk_queue_flush(rxdsk->rxdsk_queue, REQ_FLUSH);

Also note that I haven’t tested with this new routine yet.

Announcement: RapidDisk (rxdsk) 1.0b Stable release

July 16th, 2011 5 comments

I am writing to announce the release of my Linux RAM disk kernel module. Yes, the Linux kernel has the brd module already integrated into it, and also the zram module it the staging tree. And yes, you can instead utilize ramfs or tmpfs for RAM based file systems. But RapidDisk or rxdsk is a bit different.

Unlike brd or zram all attached RAM disk are populated on-the-fly with any user defined size and not during the module’s insertion (i.e. typically system bootup) with a fixed size. When you attach a new RAM disk, you can define sizes as little as 16 Mbytes and in theory as large as 1 TByte and possibly above and it is designed to allocate new kernel pages as needed; so it won’t steal all memory when the RAM disk is created.

Unlike ramfs or tmpfs, an rxdsk volume can easily be exported as a physical device across a SAN or simply allocated as a SWAP space which would become more ideal when the LZO compression is completed and stabilized.

This type of technology could be used for quick I/O storage (configured as a DRAM-based SSD with enabled syncing to persistent storage) and mounted as a block device labeled with a traditional file system and functioning as a traditional storage device; Application and/or database caching; File system meta-data caching; Virtualization (when data compression is developed and/or while running another data deduplication solution on top of the RAM disk); and as mention above, a CompCache replacement for enabling compressed swap space into RAM (again, when compression is developed).

For more details, please do not hesitate to visit the project’s wiki page. Here you will find details on how to check the source code out from the git repo, build & install it, among other things including performance numbers (writing 1 GByte sizes in 3 seconds!!!) to community involvement. The kernel module is licensed under the GPLv2 while the management utility is licensed under the GPLv3.

Note - So far this has only been tested and seen as fully functional on the 2.6.32 and 2.6.35 kernels.

Announcement: SCSITrace patches released for RHEL 6.

March 7th, 2011 Comments off

Just a quick update. New patches have been uploaded to the project site of the SCSI Bus Analyzer Module (SCSITrace) on These patches are for Red Hat Enterprise Linux 6 and cover the following kernels: 2.6.32-71.el6 and 2.6.32-71.18.1.el6 on x86 & AMD64/Intel64 architectures. You can download the files here.

The project is still in Beta status and more information can be found on our Wiki page dedicated to the project at

Reiser4? Really? How much of a demand is there for it?

February 1st, 2011 1 comment

Yesterday Phoronic posted an article, An Update On Reiser4 For The Mainline Linux Kernel. Truth be told, I kind of forgot about the file system. It seemed to fall into the far background of Linux file system development as more light was shed upon Ext4-fs and the upcoming Btrfs. I am kind of surprised that it still hasn’t been included into the mainline Linux kernel yet. But I was surprised to see Phoronix report on it. They must of had nothing else to report on. ;-)

So, who is really waiting for Reiser4? And even if does boast interesting features that Ext4 does not, how can it compete with something like Btrfs? I mean, c’mon, volume creation, snapshots, data compression, etc. Don’t get me wrong. The approach taken with the Dancing B*-trees are an interesting concept and do aid in the file system’s ability to retain atomicity and stability. But it is difficult to see a future for Reiser4 when (as the article mentions) no one is supporting it. ReiserFS v 3 got a major boost from SUSE.

Categories: File Systems, File Systems, Linux, Storage Tags: