This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author giampaolo.rodola
Recipients giampaolo.rodola, pablogsal, vstinner
Date 2019-06-05.10:22:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1559730137.72.0.105038405171.issue37157@roundup.psfhosted.org>
In-reply-to
Content
> I'm not sure that attempt to call unlink() if FICLONE fails is a good idea
Agreed.


> I dislike the *fallback* parameter of reflink().

Me too. A specific exception is better.


> Why not exposing clonefile() as os.clonefile() but os._clonefile()?

Mmm... I'm not sure it's worth it. The only reason one may want to use clonefile() directly is for passing CLONE_NOFOLLOW and CLONE_NOOWNERCOPY flags (the only possible ones):
 
- CLONE_NOFOLLOW can be exposed via "follow_symlinks=True" (like other shutil.* functions) and used internally
- CLONE_NOOWNERCOPY should also be passed internally by default because all other functions of shutil do not copy ownership (there's a warning at the top of the doc), so I think it makes sense for reflink() to do the same.
 

> +#if defined(MAC_OS_X_VERSION_10_12): Would it be possible to use a runtime check?

Good point. It should definitively be loaded at runtime. I will look into that (but not soon).
History
Date User Action Args
2019-06-05 10:22:17giampaolo.rodolasetrecipients: + giampaolo.rodola, vstinner, pablogsal
2019-06-05 10:22:17giampaolo.rodolasetmessageid: <1559730137.72.0.105038405171.issue37157@roundup.psfhosted.org>
2019-06-05 10:22:17giampaolo.rodolalinkissue37157 messages
2019-06-05 10:22:17giampaolo.rodolacreate