aboutsummaryrefslogtreecommitdiff
path: root/weed/server/filer_server_handlers_write.go
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2025-08-11 16:40:46 -0700
committerGitHub <noreply@github.com>2025-08-11 16:40:46 -0700
commitaf3300e063cc922f554b5fed873458bfd5b74fce (patch)
tree76aa1c181c99e4a3a6cd811463700a215c3f5578 /weed/server/filer_server_handlers_write.go
parent7e86045e22f2f5bc7020bf147008fc261b829c8d (diff)
downloadseaweedfs-af3300e063cc922f554b5fed873458bfd5b74fce.tar.xz
seaweedfs-af3300e063cc922f554b5fed873458bfd5b74fce.zip
filer: server side copying (#7121)
* copy * address comments * remove unused functions, reuse http clients * address hardlink, checking existing directory * destination is directory * check for the key's existence in the map first before accessing its members * address comments * deep copy remote entry * address comments * copying chunks in parallel * handle manifest chunks * address comments * errgroup * there could be large chunks * address comments * address comments
Diffstat (limited to 'weed/server/filer_server_handlers_write.go')
-rw-r--r--weed/server/filer_server_handlers_write.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go
index cdbac0abb..923f2c0eb 100644
--- a/weed/server/filer_server_handlers_write.go
+++ b/weed/server/filer_server_handlers_write.go
@@ -116,6 +116,8 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request, conte
if query.Has("mv.from") {
fs.move(ctx, w, r, so)
+ } else if query.Has("cp.from") {
+ fs.copy(ctx, w, r, so)
} else {
fs.autoChunk(ctx, w, r, contentLength, so)
}