[mythtv-commits] Ticket #6503: GetFilesystemInfos, TotalKB: -1 should be ignored

MythTV mythtv at cvs.mythtv.org
Sun Apr 26 06:44:54 UTC 2009


#6503: GetFilesystemInfos, TotalKB: -1 should be ignored
-------------------------------+--------------------------------------------
 Reporter:  nick at kreucher.net  |       Owner:  ijr       
     Type:  defect             |      Status:  new       
 Priority:  minor              |   Milestone:  0.21.1    
Component:  MythTV - General   |     Version:  0.21-fixes
 Severity:  medium             |     Mlocked:  0         
-------------------------------+--------------------------------------------
 In short, GetFilesystemInfos reports -1 total kb and 0 free kb, and Mythtv
 thinks it should mass expire, killing tons of shows. Meanwhile, actual
 filesystem has loads of free space.


 {{{
 MythTV Version   : 18207
 MythTV Branch    : branches/release-0-21-fixes
 Library API      : 0.21.20080304-1
 Network Protocol : 40
 Options compiled in:
  linux profile using_oss using_alsa using_arts using_jack using_backend
 using_dbox2 using_dvb using_firewire using_frontend using_hdhomerun
 using_iptv using_ivtv using_joystick_menu using_libfftw3 using_lirc
 using_opengl_vsync using_opengl_video using_v4l using_x11 using_xrandr
 using_xv using_xvmc using_xvmcw using_xvmc_vld using_glx_proc_addr_arb
 using_bindings_perl using_bindings_python using_opengl
 using_ffmpeg_threads using_libavc_5_3 using_live
 }}}




 {{{
 Distributor ID: Ubuntu
 Description:    Ubuntu 8.04.2
 Release:        8.04
 Codename:       hardy
 }}}



 pacifico - Master Backend, physical location of recordings, exported via
 NFS, mounted as /var/lib/mythtv/recordings via autofs control of
 /var/lib/mythtv

 guinness - Slave Backend, /var/lib/mythtv/recordings mounted from pacifico
 via autofs control of /var/lib/mythtv



 {{{
 mysql> select * from storagegroup;
 +----+-----------+----------+----------------------------+
 | id | groupname | hostname | dirname                    |
 +----+-----------+----------+----------------------------+
 |  2 | Default   | pacifico | /var/lib/mythtv/recordings |
 +----+-----------+----------+----------------------------+
 }}}

 From mythtvbackend.log on pacifico:

 {{{
 --- GetFilesystemInfos directory list start ---
 Dir: pacifico:/var/lib/mythtv/recordings
      Location: Remote
      Drive ID: 1
      TotalKB : 878560256
      UsedKB  : 246081536
      FreeKB  : 632478720

 Dir: guinness:/var/lib/mythtv/recordings
      Location: Local
      Drive ID: 1
      TotalKB : -1
      UsedKB  : -1
      FreeKB  : 0

 --- GetFilesystemInfos directory list end ---
 }}}



 A few things to note here:[[BR]]
 * Dir: guinness sizes are obviously in error[[BR]]
 * Dir: pacifico sizes are correct[[BR]]
 * Dir: pacifico location is *Local* _not_ Remote as it reports[[BR]]
 * Dir: guinness location is *Remote*, and _not_ Local as it reports[[BR]]


 Also, just pacifico can start (without guinness connecting) with incorrect
 data:

 {{{
 --- GetFilesystemInfos directory list start ---
 Dir: pacifico:/var/lib/mythtv/recordings
      Location: Local
      Drive ID: 1
      TotalKB : -1
      UsedKB  : -1
      FreeKB  : 0

 --- GetFilesystemInfos directory list end ---
 }}}



 Either case triggers a expiration massacre, in which most of our shows are
 deleted.

 It's obvious Mythtv should not take action on the "TotalKB: -1" and
 "FreeKB: 0" scenario, but instead Mythtv assumes it needs to clear up free
 space and wacks everything, making for a very sad wife :(


 Suggestion:
 a) I understand autofs/NFS can be complex, and sometimes mis-configured
 mounts, or startup timing can render a directory not available but
 b) Mythtv should correctly handle the case where the sizes reported by
 GetFilesystemInfos are obviously in error, and not trigger an serial
 expiration spree.
 c) GetFilesystemInfos is actually plain wrong here, why are we even
 getting to this erroneous state.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/6503>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list