Projects :: Changer

Introduction

Normally it isn't possible to mount all the discs of a changer at once, that is because when you mount one slot you can't change to another anymore, because the cdrom gets locked. And of course you'll have to unmount it and then you'll have to change discs by hand.

One could solve this with a script but what if you want to share the drives with NFS or Samba and you don't want people to have to hassle with the scripts; let alone when multiple people try...

Description

This little wrapper driver solves this problem. When it is loaded by the kernel it seeks in the Unified CdRom driver list and checks for changers (capacity>1&changable).

It adds these devices to an changer-internal list, opens them and adds them to the changer-devices minor list. The devices changer:minor can then be mounted like any other normal cdrom device, as it acts like a single cdrom device... The other minors can also be mounted at the same time as the changer-wrapper will change to the appropriate slot when it needs access to it.

NOTE: This driver works with ANY cdrom driver, not only IDE but also scsi and other drivers supporting the Unified CdRom driver changing mechanism.

Mounting with block=2048 & /etc/fstab

I use "block=2048" to increase read performance a bit and also helps against too many changes as now it'll change at least per 2048 bytes.

The changer-part of the fstab on heaven looks like:

/dev/changer0 /cdrom/1 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0
/dev/changer1 /cdrom/2 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0
/dev/changer2 /cdrom/3 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0
/dev/changer3 /cdrom/4 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0
/dev/changer4 /cdrom/5 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0
/dev/changer5 /cdrom/6 iso9660 defaults,ro,noexec,nosuid,unhide,block=2048 0 0

Revisions & Contacting

A version number is simply the date of the driver. eg. 19990316 = 16 March 1999.

For enquiries, bug-reports etc. send an email to jeroen@massar.ch.

Download

Current version can also be found in Github.

The following versions are available for you to download:

DateNameDiffed Kernel Versiontar.gzbzip2
16March1999The 1st AlphaN.A. tar.gzbzip2
17March1999The 2nd AlphaN.A. tar.gzbzip2
19March1999The 3rd AlphaN.A. tar.gzbzip2
24March1999The 1st Beta 2.2.4 tar.gzbzip2
07April1999The 2nd Beta 2.2.5 tar.gzbzip2
29April1999The 3rd Beta 2.2.6-ac2tar.gzbzip2
19May 1999The 4th Beta 2.2.9 tar.gzbzip2
01February20001st Stable2.2.14 & 2.3.38tar.gzbzip2

See the changer.desc for latest updates. For installation info check the README included in the archive.