[vdr] aufs instead of mhddfs with vdr 2.1.2

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Sun Dec 1 11:44:42 CET 2013

On 01.12.2013 11:24, Matthias Biel wrote:
> Hi Mike,
> If I understand your question correctly, you have several file systems for video data and you want to join them for use with VDR.
> VDR supports this out of the box: If your video directory ends with '0', VDR will automatically look for directories ending with 1, 2, ... and will use all of them. So you could mount your filesystems to directories that correspond to the naming scheme. You can find a more detailed description at:
> http://www.vdr-wiki.de/wiki/index.php/VDR_Optionen

He's using VDR 2.1.2, which doesn't distribute recordings over several disks
any more. There is now a plugin interface through which one could implement
that feature again, but I wanted to get this out of the core VDR code. It was
a makeshift solution in times where disk sizes were still relatively small.
Nowadays we have disk sizes in the terabyte range, which should be enough for
a VDR.

If "aufs" has problems renaming files, that's something that should be fixed
or worked around elsewhere. I wouldn't want to implement yet another makeshift
solution in VDR for this.

> Another option is to join your disks to a RAID0 (or RAID10, RAID5, RAID6, if you are worried about data loss because of HD failure).

I'm using two 1TB disks in a RAID-1 configuration, which has already proven
very useful when one of the disks failed.


> On 11/30/2013 02:28 PM, Mike Constabel wrote:
>> Hi Klaus,
>> i tried mhddfs since I've 5 disks with together 8 TB.
>> The problem is that mhddfs didn't run reliable for me.
>> I tried Debian Wheezy with kernel 3.2, 3.6, 3.10, but every time
>> after starting an recording I got
>> vdr: [19801] ERROR (tools.c,423): /video1: Der Socket ist nicht verbunden/var/log/syslog.6.gz:Nov 24 19:54:38 video1 vdr: [20399] ERROR (recording.c,856): /video1/Spielfilm/Romantik~Liebe/Ein_verlockendes_Spiel/2011-12- Der Socket ist nicht verbunden
>> vdr: [20399] ERROR (recording.c,914): /video1/Spielfilm/Romantik~Liebe/Ein_verlockendes_Spiel/2011-12- Der Socket ist nicht verbunden
>> vdr: [20399] ERROR (tools.c,613): /video1/Spielfilm/Romantik~Liebe/Ein_verlockendes_Spiel/2011-12- Der Socket ist nicht verbunden
>> vdr: [20431] ERROR (recorder.c,159): /video1/Doku/Natur/Terra_X:_Faszination_Erde_-_mit_Dirk_Steffens/Teil_:_Wildes_Mittelmeer_-_Wiege_Europas/2013-11- Der Socket ist nicht verbunden
>> vdr: [20397] ERROR (tools.c,423): /video1: Der Socket ist nicht verbunden
>> So I tried aufs. This works nearly great for me.
>> mount -t aufs -o br=/video1.1=rw:/video1.2=rw:/video1.3=rw:/video1.4=rw:/video1.0=rw -o create=mfsrr:$((10*1024*1024*1024)):30 -o udba=reval,sum,verbose none /video1
>> But now I cannot delete recordings from within vdr.
>> I found something about this:
>> http://aufs.sourceforge.net/aufs.html#Incompatible%20with%20an%20Ordinary%20Filesystem
>> To rename(2) directory may return EXDEV even if both of src and tgt
>> are on the same aufs. When the rename-src dir exists on multiple
>> branches and the lower dir has child(ren), aufs has to copyup all his
>> children. It can be recursive copyup. Current aufs does not support
>> such huge copyup operation at one time in kernel space, instead
>> produces a warning and returns EXDEV.
>> Generally, mv(1) detects this error and tries mkdir(2) and
>> rename(2) or copy/unlink recursively. So the result is harmless.
>> If your application which issues rename(2) for a directory does not
>> support EXDEV, it will not work on aufs.
>> Also this specification is applied to the case when the src directory
>> exists on the lower readonly branch and it has child(ren).
>> Is it possible that vdr supports aufs?
>> aufs would be better than mhddfs: faster, not fuse, in kernel, under development...
>> Regards,
>> Mike

More information about the vdr mailing list