juicedata / juicefs

JuiceFS is a distributed POSIX file system built on top of Redis and S3.
https://juicefs.com
Apache License 2.0
10.97k stars 971 forks source link

WebDAV not perserving mtime and ctime (PROPPATCH no implemented) #5023

Closed ajaleksa closed 3 months ago

ajaleksa commented 4 months ago

What would you like to be added: I would like the ability to preserve mtime (modification time) and ctime (creation time) of files when using WebDAV to access JuiceFS. Currently, there is no way to maintain these critical file properties. The WebDAV standard allows modification via PROPPATCH, which is not implemented in JuiceFS. I noticed a previous issue (#1504) that mentioned non-compliance with WebDAV due to the lack of PROPPATCH support.

Why is this needed: Preserving mtime and ctime is essential for various use cases, including:

Implementing PROPPATCH in JuiceFS would ensure compliance with the WebDAV standard and enhance its utility for users who depend on accurate file timestamps.

zhijian-pro commented 4 months ago

getlastmodified is a webdav-defined dead prop that does not support modification and can be obtained via PROFIND. This feature is currently supported. ref http://www.webdav.org/specs/rfc4918.html#METHOD_PROPFIND

creationdate is currently not supported.

PROPPATCH will be supported later, but this has nothing to do with the mtime and ctime you mentioned.