[mythtv] Patch to DO deletion when file doesn't exit
Kevin Kuphal
kuphal at dls.net
Wed Feb 16 22:30:54 UTC 2005
Mark wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> The current behaviour appears to be if the file of a recording doesn't
> exist then the backend will refuse to remove the data from the database.
> I can't see any sense in this, what else would you want to do with
> useless metadata?
> How else do I get rid of these darn empty programs?
>
> Patch attched leaves the "file didn't exist" warning in, but now removes
> the metadata too.
>
> It's trivial, but hasn't been tested more than once
This behavior was changed, and explained, multiple times. If you use a
mounted filesystem, as most people do, and your drive was not mounted
for some reason, the auto-expire code would see your mountpoint as the
empty directory it is on your main root drive. If your root drive is
small, as many are, the auto-expire would kick in seeing the lack of
disk space and start deleting programs. Since the physical files didn't
exist, it would fail but the metadata would be deleted. This would
repeat as the free space would not be increasing (no files actually
deleted) until your entire database was wiped of metadata. The behavior
now prevents this from occuring which is highly desired over an empty
database (which I encountered).
If you'd like, submit a patch that corrects the behavior on the
*recording* side that results in metadata without a physical file either
by not inserting data for a recording that never started or, perhaps a
better end user method, leave a zero byte file or a recording that says
"no program recorded" so the user is aware of the problem.
You can get rid of your files (as has been posted numerous times on the
-users list and here) by using the "touch" command to create a zero byte
file of the filename that is missing and the system will happily delete it.
Kevin
More information about the mythtv-dev
mailing list