Since you are using a non-default path, I think the right way is to add the file context via semanage, as you already tried to do. I think semanage can set the file context to <<none>> though. Try using this on your custom directory /srv/foo before running your commands: semanage fcontext -a -t '<<none>>' '/srv/foo/\.snapshots/[^/]*/snapshot(/.*)?' semanage fcontext -a -t 'snapperd_data_t' '/srv/foo/\.snapshots(/.*)?' I think that should resolve your issue as this then should not relabel the snapshot content. Please let me know if your issue still persists, thanks!