Seafile Server CE 11.0/12.0 unable to move uploaded files between libraries

Had this problem in version 11.0 also, have just upgraded it today to 12 thinking it might sort it but no - seems to be some kind of permissions problem I think.

Only happens with uploaded files - from seadrive or in the webui - new files created within the web ui can be moved fine between libraries

I have my data folder mounted as a cifs share to storage in another PC, not sure if this is affecting it - the fstab line for that is here

//nas.local/SeaHubServerData$ /mnt/SFData cifs credentials=/etc/credential, noperm, nounix, vers=3.0, iocharset=utf8, file_mode=0755, dir_mode=0755, users, auto 0 0

The seafile.log shows

[2025-12-22 18:14:58] [WARNING] repo-op.c(3370): [move files] Failed to copy file usage.xlsx.
[2025-12-22 18:17:30] [WARNING] ../common/block-backend-fs.c(358): Failed to link /opt/seafile/seafile-data/storage/blocks/98510363-f60d-4828-99ca-c881f7be74bc/37/c77f7cf0c2a951d064db46b60c4bdfd424021e to /opt/seafile/seafile-data/storage/blocks/d19acb51-6dda-46f6-86dc-fd1b86a5f0af/37/c77f7cf0c2a951d064db46b60c4bdfd424021e: Operation not supported.
[2025-12-22 18:17:30] [WARNING] repo-op.c(2347): Failed to copy block 37c77f7cf0c2a951d064db46b60c4bdfd424021e from repo 98510363-f60d-4828-99ca-c881f7be74bc to d19acb51-6dda-46f6-86dc-fd1b86a5f0af.

Operation not supported seems to say it all

Any help would be much appreciated thanks…

Hope the following answer generated by AI can help you in this case

Based on the issue description and logs, here’s an analysis of the problem:

The error messages Failed to link ... Operation not supported and [move files] Failed to copy file... strongly indicate that the underlying storage system does not support hard links. Seafile attempts to use hard links to efficiently move files between libraries on the same storage backend. This is a common issue when using network file systems like CIFS or NFS.

Here are a few key points to investigate:

  • CIFS Hard Link Support: The primary issue is likely that your CIFS server or the client-side implementation does not support or have hard links enabled. You will need to check the documentation for your specific CIFS server (e.g., Samba, Windows Server) to see if it supports hard links and how to enable them.
  • Mount Options: The mount options in your /etc/fstab might also be a factor. While the options you’ve used are common for CIFS, they might not be optimal for Seafile. You may need to experiment with different options to see if they enable hard link support.
  • Alternative Storage: If your CIFS server does not support hard links, you may need to consider using a different storage backend that does, such as a local filesystem or a different network file system that has better support for POSIX features.

To resolve this issue, I would recommend the following steps:

  1. Check CIFS Server Configuration: Consult the documentation for your NAS or CIFS server to determine if it supports hard links and if there are any specific settings required to enable them.

  2. Test Hard Links Manually: Try to create a hard link manually on the mounted CIFS share to confirm if the operation is supported. You can do this with the ln command. For example:

    touch /mnt/SFData/testfileln /mnt/SFData/testfile /mnt/SFData/testlink
    

    If this command fails with “Operation not supported”, it confirms the issue is with the CIFS share.

  3. Review Mount Options: Research the available mount options for cifs to see if there are any that would enable hard link support.

thanks for the reply, looks like it is the hardlink support…

Should have also mentioned the storage backend is running on a stablebit drivepool and from what i’m reading on that it does not and cannot support hardlinks

Solution I guess is to move data folder out of the drivepool to a single drive, i’ll try that and update…

and if that doesn’t work i’ll flag the whole cifs approach and give it its own drive, it’s running on a Virtual Machine but I imagine I must be able to attach a physical drive to it somehow…

So just to update, used robocopy /MIR to mirror the data folder on the drive pool to a folder on a seperate drive, set that folder as the shared folder for seafile, and everything seems to be working fine. I can now move files between libraries, both from the web GUI and seadrive.

Appreciate the help, just wanted to get this issue and the upgrade to 12 done before I have a go at migrating to the docker version…