Hmm… I just did a test with these files/folder hierarchy:
/home/myuser/test_tv/
├── MGM Cartoons (1934)
│ └── Season 1934
│ └── MGM Cartoons (1934) - S1940E02.mkv
└── Tom and Jerry (1940)
└── Season 1940
└── Tom and Jerry (1940) - S1940E01.mkv
The Tom and Jerry episode is a hard link to the MGM Cartoons episode. Pointing my test library to “test_tv” resulted in the behavior we observed earlier: When a scan is performed it finds one or the other series, but not both. Refreshing metadata causes the detection to flip to the other series.
To test the CIFS/SMB3 mount, I created a share on my system; in /etc/samba/smb.conf:
[tempcifs]
path = /home/myuser/test_tv
guest account =
writeable = yes
valid users = myuser
user = myuser
Restarted smbd and nmbd:
sudo systemctl restart smbd nmdb
And then, still on the same system, mounted that share via the loopback interface on a temp directory:
sudo mount -t smb3 -o username=myuser //127.0.0.1/tempcifs /mnt/cifstest/
(/mnt/cifstest/ is owned by myuser
.)
This is /mnt/cifstest/ after mounting:
/mnt/cifstest/
├── MGM Cartoons (1934)
│ └── Season 1934
│ └── MGM Cartoons (1934) - S1940E02.mkv
└── Tom and Jerry (1940)
└── Season 1940
└── Tom and Jerry (1940) - S1940E01.mkv
I removed my existing test_tv directory from the library configuration and added /mnt/cifstest. (Actually, I performed a Plex Dance to ensure there were no remnants of the previous configuration.) A scan was performed and it then matched both series separately, with correct metadata.
Some notes:
- I already had samba installed and configured on my server; the configuration I added above was in addition to the existing one.
- I tend to use CIFS and SMB(3) interchangeably. However, in this test, I’m mounting via SMB3. Just ignore that I named everything with cifs.
- This testing was done with a dummy file generated from
dd
:
dd if=/dev/random of="MGM Cartoons (1934) - S1940E02.mkv" bs=1M count=10
Then I created the hard link to it. - I did some testing with bindfs as well but saw some weird results. I need to do those tests again.
- Other stuff I likely forgot.
All that to say it appears that looping back via a local network share might workaround this problem for you. If I were going to take this approach, I’d only do it for my problematic series. That is, put those series in a separate folder hierarchy and then only share that.