diff options
Diffstat (limited to 'weed/server/volume_server_handlers_admin.go')
| -rw-r--r-- | weed/server/volume_server_handlers_admin.go | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/weed/server/volume_server_handlers_admin.go b/weed/server/volume_server_handlers_admin.go index ae9817ef6..28631dac7 100644 --- a/weed/server/volume_server_handlers_admin.go +++ b/weed/server/volume_server_handlers_admin.go @@ -3,6 +3,7 @@ package weed_server import ( "net/http" "path/filepath" + "strconv" "github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/stats" @@ -17,13 +18,29 @@ func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) { } func (vs *VolumeServer) assignVolumeHandler(w http.ResponseWriter, r *http.Request) { - err := vs.store.AddVolume(r.FormValue("volume"), r.FormValue("collection"), vs.needleMapKind, r.FormValue("replication"), r.FormValue("ttl")) + var err error + preallocate := int64(0) + if r.FormValue("preallocate") != "" { + preallocate, err = strconv.ParseInt(r.FormValue("preallocate"), 10, 64) + if err != nil { + glog.V(0).Infoln("ignoring invalid int64 value for preallocate = %v", r.FormValue("preallocate")) + } + } + err = vs.store.AddVolume( + r.FormValue("volume"), + r.FormValue("collection"), + vs.needleMapKind, + r.FormValue("replication"), + r.FormValue("ttl"), + preallocate, + ) if err == nil { writeJsonQuiet(w, r, http.StatusAccepted, map[string]string{"error": ""}) } else { writeJsonError(w, r, http.StatusNotAcceptable, err) } - glog.V(2).Infoln("assign volume =", r.FormValue("volume"), ", collection =", r.FormValue("collection"), ", replication =", r.FormValue("replication"), ", error =", err) + glog.V(2).Infoln("assign volume = %s, collection = %s , replication = %s, error = %v", + r.FormValue("volume"), r.FormValue("collection"), r.FormValue("replication"), err) } func (vs *VolumeServer) deleteCollectionHandler(w http.ResponseWriter, r *http.Request) { @@ -33,7 +50,7 @@ func (vs *VolumeServer) deleteCollectionHandler(w http.ResponseWriter, r *http.R } else { writeJsonError(w, r, http.StatusInternalServerError, err) } - glog.V(2).Infoln("deleting collection =", r.FormValue("collection"), ", error =", err) + glog.V(2).Infof("deleting collection = %s, error = %v", r.FormValue("collection"), err) } func (vs *VolumeServer) statsDiskHandler(w http.ResponseWriter, r *http.Request) { |
