[mythtv-users] use frontend diskspace for recordings ?

Michael T. Dean mtdean at thirdcontact.com
Tue Nov 1 11:37:52 EST 2005


Scot L. Harris wrote:

>On Tue, 2005-11-01 at 08:51, Mark Knecht wrote:
>  
>
>>Yes, it is possible. I partitioned my 250GB frontend only machine as
>>10GB for Gentoo and 240GB in a separate partition. I then made the
>>large partition available through NFS and mounted it on the backend as
>>the location to store recordings.
>>
>>While recording uses network bandwidth, the nice thing is that this
>>frontend is the main family system in the family room and there is no
>>network traffic when watching playback. (On that frontend)
>>    
>>
>Is that really true?  I thought the frontend would contact the backend
>requesting the recording.
>
Only if the file isn't found on the filesystem.

>  The backend then streams the recording to the
>frontend.  In this case it would pull it over NFS then send it to the
>frontend.
>  
>
For exactly this reason.

>If I understand mythtv correctly the frontend does not really know where
>the recordings are stored.  It asks the backend system to supply that as
>needed.
>  
>
The frontend *always* checks the filesystem first.  If the file exists 
there--whether it's a local filesystem or a network-mounted filesystem 
(NFS/Samba/whatever)--it plays it through the filesystem instead of 
wasting the effort of streaming it.

>In a previous thread I understood that changes would have to be made to
>the database if a slave backend NFS mounted the recordings directory on
>the master backend and subsequently the slaves recordings directory was
>made local.
>
True--if you /change/ locations.  Myth doesn't know whether a directory 
is NFS mounted or not, so if you have the same location before and 
after, it would work.  In other words, if the file paths are the same 
before and after the change *from the perspective of the Myth box that 
recorded the file*, no database changes are required.

So, if you start with an NFS mount of the master backend's recordings 
directory and decide to use local storage instead, you would have to 
either a) modify the database so it thinks the master backend recorded 
everything or b) move the recordings that the slave backend recorded to 
the slave backend's new local recordings directory.  Option a is 
significantly easier as it can be done with a very fast SQL UPDATE 
statment--as opposed to copying multiple gigabytes of data across a 
network.  However, frontends that can still find the file locally would 
be able to play the files (i.e. those that still NFS mount the master 
backend recordings directory and a frontend on the master backend).

>Any recordings made by the slave when the NFS was in place
>would not be found when the backend checked the database.
>  
>
This thread?  
http://www.gossamer-threads.com/lists/mythtv/users/157757#157757 .

Also, it's not clear from Mark's post if his frontend is also running a 
backend.  If not, I may not have been general enough in my 
interpretation of the code.  It's possible that there may exist a 
RecordFilePrefix for a frontend only machine, in which case the 
recording will be found on the filesystem without requiring the video be 
streamed.

Mark will have to tell you how he got the RecordFilePrefix, though.  It 
doesn't seem to be a part of a typical frontend-only configuration 
(although I haven't, yet, built a frontend-only system, so I don't know 
for sure), but it's possible he configured his frontend as a 
frontend/backend combo (even without capture cards) to allow the 
frontend to do commflagging/transcoding jobs--at which point he would 
have a RecordFilePrefix.  Then again, it seems that just manually 
inserting a RecordFilePrefix for the frontend's hostname would cause it 
to work, too.

Mike


More information about the mythtv-users mailing list