You are here: Home » Topic » database indexing via inode?

database indexing via inode?

This topic contains 8 replies, has 3 voices, and was last updated by  rpedde 10 years, 4 months ago.

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #1524

    whatdoineed2do

    hi folks

    i’ve been running mt-daapd 0.2.4 off my linux boxes for a while now and its been great; however, i was trying to figure out if it woudl be easy to change mt-daapd so that i could have mp3s on 2 different filesystems?

    the comment in the confg file (/etc/mt-daapd.conf) says that files are idx in the db via the inode; could the database idx not be changed so its based on a inode-dev id couplet and this would remove the need the same-filesystem restriction?

    thanks
    ray

    #11526

    rpedde
    Participant

    @whatdoineed2do wrote:

    hi folks

    i’ve been running mt-daapd 0.2.4 off my linux boxes for a while now and its been great; however, i was trying to figure out if it woudl be easy to change mt-daapd so that i could have mp3s on 2 different filesystems?

    the comment in the confg file (/etc/mt-daapd.conf) says that files are idx in the db via the inode; could the database idx not be changed so its based on a inode-dev id couplet and this would remove the need the same-filesystem restriction?

    thanks
    ray

    Ya, but getting device info cross platform isn’t very pleasant. It’s been fixed by using path as a key in nightlies. You can get nighlies at nightlies.mt-daapd.org, although some of the deps have changed — you’ll need either sqlite2 or sqlite3 in addition to libid3tag.

    — Ron

    #11527

    thanks Ron,

    i’ve just downloaded and built svn-1586 w/sqllite3 on my linux box and it all works as expected; however the feature you mentioned (able to store music on a different filesystem) still does NOT seem to work

    i have “mp3_dir /export/music” in the cfg file and i tried put a file onto a different filesystem in the following manner before running the firefly server

    $ cd /export/music
    $ ln -s /home/ray/music ray
    $ df -k /home/ray /export/music
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/hde2 98435476 60488800 32946448 65% /export/home
    /dev/hda8 8826808 8364424 14004 100% /export/music

    i have one test mp3 file at /home/ray/music/test.mp3 (tagged with artist=”foo”, album=”foo album”) but when a full scan has been completed and i connect via my roku unit i am UNABLE to find the music file under the artists or album lists.

    is there anything you can suggest that i can do to debug this? currently trying to look through the sqllite3 db to see if its there (but i expect not)

    many thanks
    ray

    [you;ll have to excuse the different user — i tried replying but apparently it was spam!]

    #11528

    just one more thing, to ensure that it wasn’t a permissioning issue, i opened up all permissions:

    chmod 755 /home/ray/music

    and forced the server to do a full rescan and then examinging the db, i still could NOT find the test.mp3 listed. (select * from songs where path like “%test.mp3”)

    however, i do see in the log file
    007-07-07 16:53:58 (b7f3a6b0): Starting web server from /usr/share/firefly/admin-root on port 13689
    2007-07-07 16:53:58 (b7f3a6b0): Registering rendezvous names
    2007-07-07 16:53:58 (b7f3a6b0): Serving 1555 songs. Startup complete in 1 seconds
    2007-07-07 16:54:12 (b7f3a6b0): Rescanning database
    2007-07-07 16:54:12 (b7f3a6b0): opendir: Permission denied

    i’m trying to trackdown the arg to the failed opendir cmd

    any thoughts on how i could debug this?
    thanks again
    ray

    #11529

    i think this a problem with the permissioning of the dirs;

    /home/ray 0700
    /home/ray/music 0755

    if i make /home/ray 0755 then it works. slightly odd since the symlink points directly at /home/ray/music

    #11530

    rpedde
    Participant

    @whatdoineed2do-again wrote:

    i think this a problem with the permissioning of the dirs;

    /home/ray 0700
    /home/ray/music 0755

    if i make /home/ray 0755 then it works. slightly odd since the symlink points directly at /home/ray/music

    symlink or not, you need at least x permission in every intermediate directory to be able see a target directory. So you don’t need to make /home/ray 0755, you can live with 0711, which will keep people from reading stuff in the root of your home.

    Just goes to show, you’d do better to have a world-readable directory somewhere and symlink /home/ray/music to that, rather than letting people grovel around in your homedir. Mucking around with homedir permissions is good way to accidentally let people read stuff they shouldn’t. Not that I guess it matters on a single user system, still, bad form.

    Also, if you are still keeping your config file in old form:

    mp3_dir /whatever

    Then you’d do well to copy the config file from contrib and re-edit it. There are lots of new config values, and a whole new config file format, and while it does a fair job of trying to interpret an old-style config, it’s less error prone all around to switch to the new-format config.

    good luck.

    — Ron

    #11531

    kellyharding
    Participant

    Remember too, thaat as default firefly will run as user: nobody with group: nogroup.

    so the db files and the music files have to be accessable by user nobody and group nogroup.

    I found it easier to get around this a little by setting up a user mt-daapd and adding it to a music group. And then letting the files be owned by my own user account and with group music.

    Easier to manage I found.

    Hope that helps and makes sense?

    Kelly

    #11532

    many thanks, things are working as expected now.

    just one more Q tho.. you mention the contrib/mt-daapd.conf file for the new style config. however, from the svn-l586 dir, i see the cfg file still looks fairly much like the 0.2.4 cfg file (it even includes the comment about ‘files are stored in the database by inode’ preceeding the ‘mp3_dir’ cfg option)

    if you have a sample new cfg file, could you upload it onto the website prior to its inclusion in the next publically available nightly build?

    thanks again — much appreciated for the work!
    best regards
    ray

    #11533

    rpedde
    Participant

    @whatdoineed2do-again wrote:

    many thanks, things are working as expected now.

    just one more Q tho.. you mention the contrib/mt-daapd.conf file for the new style config. however, from the svn-l586 dir, i see the cfg file still looks fairly much like the 0.2.4 cfg file (it even includes the comment about ‘files are stored in the database by inode’ preceeding the ‘mp3_dir’ cfg option)

    if you have a sample new cfg file, could you upload it onto the website prior to its inclusion in the next publically available nightly build?

    thanks again — much appreciated for the work!
    best regards
    ray

    It should be more like a windows .ini file:

    [section]
    param = value

    that’s the new style. Most particularly, there should be section called

    [plugins]

    with a “plugins_dir”.

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.