aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/shell/command_fs_configure.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/weed/shell/command_fs_configure.go b/weed/shell/command_fs_configure.go
index 60edb79c2..d09ea0882 100644
--- a/weed/shell/command_fs_configure.go
+++ b/weed/shell/command_fs_configure.go
@@ -5,6 +5,7 @@ import (
"flag"
"fmt"
"io"
+ "regexp"
"strings"
"github.com/seaweedfs/seaweedfs/weed/filer"
@@ -51,7 +52,7 @@ func (c *commandFsConfigure) Do(args []string, commandEnv *CommandEnv, writer io
locationPrefix := fsConfigureCommand.String("locationPrefix", "", "path prefix, required to update the path-specific configuration")
collection := fsConfigureCommand.String("collection", "", "assign writes to this collection")
replication := fsConfigureCommand.String("replication", "", "assign writes with this replication")
- ttl := fsConfigureCommand.String("ttl", "", "assign writes with this ttl")
+ ttl := fsConfigureCommand.String("ttl", "", "assign writes with this ttl (e.g., 1m, 1h, 1d, 1w, 1y)")
diskType := fsConfigureCommand.String("disk", "", "[hdd|ssd|<tag>] hard drive or solid state drive or any tag")
fsync := fsConfigureCommand.Bool("fsync", false, "fsync for the writes")
isReadOnly := fsConfigureCommand.Bool("readOnly", false, "disable writes")
@@ -102,6 +103,16 @@ func (c *commandFsConfigure) Do(args []string, commandEnv *CommandEnv, writer io
}
}
+ // check ttl
+ if *ttl != "" {
+ regex := "^[1-9][0-9]*[mhdwMy]$"
+ match, _ := regexp.MatchString(regex, *ttl)
+
+ if !match {
+ return fmt.Errorf("ttl should be of the following format (e.g., 1m, 1h, 1d, 1w, 1y)")
+ }
+ }
+
// save it
if *isDelete {
fc.DeleteLocationConf(*locationPrefix)