You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
shutil functions are not working some file systems #127
This is the case on several file systems used in Neurospin. The use of os.setxattrs raises a permission denied exception. But shutil functions that move files are calling it making BrainVISA being unusable.
An urgent workaround is required here for a user using a shared development environment. For this, I will provide a modified image where shutil._setxattrs does nothing. It is a possibility for shutil if extended attributes are not supported by system. I will just change the test for this image. This will be in a casa-dev-5.3-17-neurospin.sif image. If it works and Neurospin users report the same kind of problems, we may have to do the same for user images.
A less drastic way of fixing the issue is to replace shutil.move(src,dst) by shutil.move(src, dst, copy_function=shutil.copyfile) when we do not need to copy file metadata (mode, mtime, xattrs...).
Maybe we should add some functions to soma-base that reimplement shutil.move, shutil.copy, shutil.copy2, but ignore PermissionErrors that occur during the copy of file metadata?
Activity
sapetnioc commentedon Feb 6, 2023
An urgent workaround is required here for a user using a shared development environment. For this, I will provide a modified image where
shutil._setxattrsdoes nothing. It is a possibility forshutilif extended attributes are not supported by system. I will just change the test for this image. This will be in acasa-dev-5.3-17-neurospin.sifimage. If it works and Neurospin users report the same kind of problems, we may have to do the same for user images.ylep commentedon Mar 13, 2023
I actually encountered and fixed a similar issue in brainvisa/brainvisa-spm@d67cf36.
A less drastic way of fixing the issue is to replace
shutil.move(src,dst)byshutil.move(src, dst, copy_function=shutil.copyfile)when we do not need to copy file metadata (mode, mtime, xattrs...).Maybe we should add some functions to
soma-basethat reimplementshutil.move,shutil.copy,shutil.copy2, but ignorePermissionErrors that occur during the copy of file metadata?