SMB/CIFS mount and issues with _arcade_organizer.sh script
Posted: Mon Jun 27, 2022 12:54 pm
Hey all, I have all my ROMs setup on my NAS using a CIFS mount, and so far this has been working really well. I did notice an issue a while ago though with the update_all script, and specifically the "Arcade Organizer" section after I switched from using the SD card to hold all the ROMs to using a CIFS mount, I was constantly seeing errors like this:
It appeared that the script was having trouble creating the symlinks in the "/_Arcade/_Organized" and "/_Arcade/_alternatives/" directories, and when I read the GitHub page for https://github.com/theypsilon/_arcade-organizer, the README.md seemed to be reporting that the script wouldn't work creating symlinks if you mount the SD card outside of your MiSTer (and perhaps presumably if you mount all your ROMs on a CIFS mount?). But I found a configuration option you can add to your cifs_mount.ini that will make the Arcade Organizer section of the update_all script work, even with your ROMs hosted on an SMB/CIFS mount (mine is on a QNAP NAS).
In your cifs_mount.ini, add "mfsymlinks" to the "ADDITIONAL_MOUNT_OPTIONS" parameter:
Adding that parameter, cold rebooting my MiSTer and then re-running the "update_all" script worked and all the correct organized arcade symlinks were created perfectly. Hope this helps somebody else!
Code: Select all
...
Organizing 2114 MRAs.
MRA Core Year Manufactu. Category
################################################################################
1941- Counter Attack (JP).mra jtcps1 1990 Capcom Shooter
File "/tmp/_arcade-organizer.sh", line 1178, in <module>
run()
File "/tmp/_arcade-organizer.sh", line 1174, in run
ao.organize_all_mras()
File "/tmp/_arcade-organizer.sh", line 1136, in organize_all_mras
self.organize_single_mra(mra)
File "/tmp/_arcade-organizer.sh", line 754, in organize_single_mra
self.create_region()
File "/tmp/_arcade-organizer.sh", line 885, in create_region
self.impl_create_single_link('REGION_DIR', 'region', 'ORGDIR_Region')
File "/tmp/_arcade-organizer.sh", line 875, in impl_create_single_link
self.create_symlink("%s/_%s/" % (self._config[orgdir], self._description[description_field]))
File "/tmp/_arcade-organizer.sh", line 854, in create_symlink
self._infra.make_symlink(self._mra_path, self._basename_mra, directory)
File "/tmp/_arcade-organizer.sh", line 353, in make_symlink
os.symlink(src, dst)
OSError: [Errno 95] Operation not supported: '/media/fat/_Arcade/_alternatives/_1941 Counter Attack/1941 Counter Attack -Japan-.mra' -> '/media/fat/_Arcade/_Organized/_2 Region/_Japan/1941- Counter Attack (JP).mra'
FINISHED: _ARCADE-ORGANIZER
In your cifs_mount.ini, add "mfsymlinks" to the "ADDITIONAL_MOUNT_OPTIONS" parameter:
Code: Select all
#Optional additional mount options, when in doubt leave blank.
#If you have problems not related to username/password, you can try "vers=2.0" or "vers=3.0".
ADDITIONAL_MOUNT_OPTIONS="mfsymlinks"