aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--unmaintained/change_superblock/change_superblock.go6
-rw-r--r--unmaintained/fix_dat/fix_dat.go10
-rw-r--r--unmaintained/repeated_vacuum/repeated_vacuum.go6
-rw-r--r--unmaintained/see_dat/see_dat.go6
-rw-r--r--unmaintained/see_idx/see_idx.go6
-rw-r--r--unmaintained/see_meta/see_meta.go6
-rw-r--r--unmaintained/volume_tailer/volume_tailer.go8
-rw-r--r--weed/command/backup.go14
-rw-r--r--weed/command/benchmark.go10
-rw-r--r--weed/command/compact.go8
-rw-r--r--weed/command/download.go4
-rw-r--r--weed/command/export.go8
-rw-r--r--weed/command/filer.go10
-rw-r--r--weed/command/filer_copy.go10
-rw-r--r--weed/command/filer_replication.go20
-rw-r--r--weed/command/fix.go8
-rw-r--r--weed/command/master.go10
-rw-r--r--weed/command/mount_std.go8
-rw-r--r--weed/command/s3.go8
-rw-r--r--weed/command/server.go4
-rw-r--r--weed/command/shell.go6
-rw-r--r--weed/command/upload.go6
-rw-r--r--weed/command/version.go2
-rw-r--r--weed/command/volume.go12
-rw-r--r--weed/command/volume_test.go2
-rw-r--r--weed/command/webdav.go8
-rw-r--r--weed/filer2/abstract_sql/abstract_sql_store.go4
-rw-r--r--weed/filer2/cassandra/cassandra_store.go6
-rw-r--r--weed/filer2/configuration.go2
-rw-r--r--weed/filer2/entry.go2
-rw-r--r--weed/filer2/entry_codec.go2
-rw-r--r--weed/filer2/etcd/etcd_store.go6
-rw-r--r--weed/filer2/filechunks.go2
-rw-r--r--weed/filer2/filechunks_test.go2
-rw-r--r--weed/filer2/filer.go4
-rw-r--r--weed/filer2/filer_client_util.go6
-rw-r--r--weed/filer2/filer_deletion.go6
-rw-r--r--weed/filer2/filer_notify.go6
-rw-r--r--weed/filer2/filer_notify_test.go2
-rw-r--r--weed/filer2/filerstore.go6
-rw-r--r--weed/filer2/leveldb/leveldb_store.go6
-rw-r--r--weed/filer2/leveldb/leveldb_store_test.go2
-rw-r--r--weed/filer2/leveldb2/leveldb2_store.go6
-rw-r--r--weed/filer2/leveldb2/leveldb2_store_test.go2
-rw-r--r--weed/filer2/memdb/memdb_store.go4
-rw-r--r--weed/filer2/memdb/memdb_store_test.go2
-rw-r--r--weed/filer2/mysql/mysql_store.go6
-rw-r--r--weed/filer2/postgres/postgres_store.go6
-rw-r--r--weed/filer2/redis/redis_cluster_store.go4
-rw-r--r--weed/filer2/redis/redis_store.go4
-rw-r--r--weed/filer2/redis/universal_redis_store.go4
-rw-r--r--weed/filer2/stream.go8
-rw-r--r--weed/filesys/dir.go6
-rw-r--r--weed/filesys/dir_link.go4
-rw-r--r--weed/filesys/dir_rename.go2
-rw-r--r--weed/filesys/dirty_page.go8
-rw-r--r--weed/filesys/file.go6
-rw-r--r--weed/filesys/filehandle.go6
-rw-r--r--weed/filesys/wfs.go6
-rw-r--r--weed/filesys/wfs_deletion.go8
-rw-r--r--weed/images/resizing.go2
-rw-r--r--weed/notification/aws_sqs/aws_sqs_pub.go6
-rw-r--r--weed/notification/configuration.go4
-rw-r--r--weed/notification/gocdk_pub_sub/gocdk_pub_sub.go6
-rw-r--r--weed/notification/google_pub_sub/google_pub_sub.go6
-rw-r--r--weed/notification/kafka/kafka_queue.go6
-rw-r--r--weed/notification/log/log_queue.go6
-rw-r--r--weed/operation/assign_file_id.go6
-rw-r--r--weed/operation/chunked_file.go4
-rw-r--r--weed/operation/delete_content.go4
-rw-r--r--weed/operation/grpc_client.go8
-rw-r--r--weed/operation/lookup.go4
-rw-r--r--weed/operation/lookup_vid_cache.go2
-rw-r--r--weed/operation/stats.go2
-rw-r--r--weed/operation/submit.go4
-rw-r--r--weed/operation/sync_volume.go2
-rw-r--r--weed/operation/tail_volume.go4
-rw-r--r--weed/operation/upload_content.go6
-rw-r--r--weed/os_overloads/file_windows.go168
-rw-r--r--weed/os_overloads/syscall_windows.go80
-rw-r--r--weed/os_overloads/types_windows.go9
-rw-r--r--weed/pb/filer_pb/filer_pb_helper.go2
-rw-r--r--weed/pb/master.proto1
-rw-r--r--weed/pb/master_pb/master.pb.go19
-rw-r--r--weed/pb/volume_server.proto1
-rw-r--r--weed/pb/volume_server_pb/volume_server.pb.go19
-rw-r--r--weed/replication/replicator.go10
-rw-r--r--weed/replication/sink/azuresink/azure_sink.go12
-rw-r--r--weed/replication/sink/b2sink/b2_sink.go10
-rw-r--r--weed/replication/sink/filersink/fetch_write.go10
-rw-r--r--weed/replication/sink/filersink/filer_sink.go14
-rw-r--r--weed/replication/sink/gcssink/gcs_sink.go12
-rw-r--r--weed/replication/sink/replication_sink.go6
-rw-r--r--weed/replication/sink/s3sink/s3_sink.go12
-rw-r--r--weed/replication/sink/s3sink/s3_write.go8
-rw-r--r--weed/replication/source/filer_source.go8
-rw-r--r--weed/replication/sub/notification_aws_sqs.go6
-rw-r--r--weed/replication/sub/notification_gocdk_pub_sub.go6
-rw-r--r--weed/replication/sub/notification_google_pub_sub.go6
-rw-r--r--weed/replication/sub/notification_kafka.go6
-rw-r--r--weed/replication/sub/notifications.go4
-rw-r--r--weed/s3api/filer_multipart.go6
-rw-r--r--weed/s3api/filer_util.go4
-rw-r--r--weed/s3api/s3api_bucket_handlers.go4
-rw-r--r--weed/s3api/s3api_handlers.go6
-rw-r--r--weed/s3api/s3api_object_handlers.go4
-rw-r--r--weed/s3api/s3api_objects_list_handlers.go6
-rw-r--r--weed/s3api/s3api_server.go12
-rw-r--r--weed/security/guard.go2
-rw-r--r--weed/security/jwt.go2
-rw-r--r--weed/security/tls.go2
-rw-r--r--weed/server/common.go12
-rw-r--r--weed/server/filer_grpc_server.go10
-rw-r--r--weed/server/filer_grpc_server_rename.go6
-rw-r--r--weed/server/filer_server.go42
-rw-r--r--weed/server/filer_server_handlers.go2
-rw-r--r--weed/server/filer_server_handlers_read.go8
-rw-r--r--weed/server/filer_server_handlers_read_dir.go8
-rw-r--r--weed/server/filer_server_handlers_write.go14
-rw-r--r--weed/server/filer_server_handlers_write_autochunk.go14
-rw-r--r--weed/server/master_grpc_server.go8
-rw-r--r--weed/server/master_grpc_server_collection.go6
-rw-r--r--weed/server/master_grpc_server_volume.go10
-rw-r--r--weed/server/master_server.go16
-rw-r--r--weed/server/master_server_handlers.go8
-rw-r--r--weed/server/master_server_handlers_admin.go14
-rw-r--r--weed/server/master_server_handlers_ui.go6
-rw-r--r--weed/server/raft_server.go6
-rw-r--r--weed/server/volume_grpc_admin.go7
-rw-r--r--weed/server/volume_grpc_batch_delete.go6
-rw-r--r--weed/server/volume_grpc_client_to_master.go10
-rw-r--r--weed/server/volume_grpc_copy.go14
-rw-r--r--weed/server/volume_grpc_copy_incremental.go4
-rw-r--r--weed/server/volume_grpc_erasure_coding.go16
-rw-r--r--weed/server/volume_grpc_tail.go10
-rw-r--r--weed/server/volume_grpc_vacuum.go6
-rw-r--r--weed/server/volume_server.go8
-rw-r--r--weed/server/volume_server_handlers.go6
-rw-r--r--weed/server/volume_server_handlers_admin.go6
-rw-r--r--weed/server/volume_server_handlers_read.go12
-rw-r--r--weed/server/volume_server_handlers_ui.go8
-rw-r--r--weed/server/volume_server_handlers_write.go10
-rw-r--r--weed/server/webdav_server.go12
-rw-r--r--weed/shell/command_collection_delete.go2
-rw-r--r--weed/shell/command_collection_list.go2
-rw-r--r--weed/shell/command_ec_balance.go4
-rw-r--r--weed/shell/command_ec_common.go12
-rw-r--r--weed/shell/command_ec_encode.go12
-rw-r--r--weed/shell/command_ec_rebuild.go8
-rw-r--r--weed/shell/command_ec_test.go4
-rw-r--r--weed/shell/command_fs_cat.go4
-rw-r--r--weed/shell/command_fs_du.go6
-rw-r--r--weed/shell/command_fs_ls.go4
-rw-r--r--weed/shell/command_fs_meta_load.go6
-rw-r--r--weed/shell/command_fs_meta_notify.go8
-rw-r--r--weed/shell/command_fs_meta_save.go6
-rw-r--r--weed/shell/command_fs_mv.go4
-rw-r--r--weed/shell/command_fs_tree.go4
-rw-r--r--weed/shell/command_volume_balance.go4
-rw-r--r--weed/shell/command_volume_copy.go2
-rw-r--r--weed/shell/command_volume_delete.go2
-rw-r--r--weed/shell/command_volume_fix_replication.go8
-rw-r--r--weed/shell/command_volume_list.go4
-rw-r--r--weed/shell/command_volume_mount.go6
-rw-r--r--weed/shell/command_volume_move.go6
-rw-r--r--weed/shell/command_volume_unmount.go6
-rw-r--r--weed/shell/commands.go6
-rw-r--r--weed/stats/disk.go2
-rw-r--r--weed/stats/disk_notsupported.go2
-rw-r--r--weed/stats/disk_supported.go2
-rw-r--r--weed/stats/memory.go2
-rw-r--r--weed/stats/memory_notsupported.go2
-rw-r--r--weed/stats/memory_supported.go2
-rw-r--r--weed/stats/metrics.go2
-rw-r--r--weed/storage/disk_location.go8
-rw-r--r--weed/storage/disk_location_ec.go4
-rw-r--r--weed/storage/erasure_coding/ec_encoder.go10
-rw-r--r--weed/storage/erasure_coding/ec_shard.go4
-rw-r--r--weed/storage/erasure_coding/ec_test.go4
-rw-r--r--weed/storage/erasure_coding/ec_volume.go8
-rw-r--r--weed/storage/erasure_coding/ec_volume_delete.go4
-rw-r--r--weed/storage/erasure_coding/ec_volume_info.go4
-rw-r--r--weed/storage/idx/walk.go6
-rw-r--r--weed/storage/memory_map/memory_map.go42
-rw-r--r--weed/storage/memory_map/memory_map_windows.go222
-rw-r--r--weed/storage/needle/crc.go2
-rw-r--r--weed/storage/needle/file_id.go2
-rw-r--r--weed/storage/needle/file_id_test.go2
-rw-r--r--weed/storage/needle/needle.go4
-rw-r--r--weed/storage/needle/needle_parse_multipart.go4
-rw-r--r--weed/storage/needle/needle_read_write.go171
-rw-r--r--weed/storage/needle/needle_read_write_test.go2
-rw-r--r--weed/storage/needle/needle_test.go2
-rw-r--r--weed/storage/needle_map.go4
-rw-r--r--weed/storage/needle_map/btree_map.go2
-rw-r--r--weed/storage/needle_map/compact_map.go2
-rw-r--r--weed/storage/needle_map/compact_map_perf_test.go4
-rw-r--r--weed/storage/needle_map/compact_map_test.go2
-rw-r--r--weed/storage/needle_map/needle_value.go4
-rw-r--r--weed/storage/needle_map/needle_value_map.go2
-rw-r--r--weed/storage/needle_map_leveldb.go10
-rw-r--r--weed/storage/needle_map_memory.go8
-rw-r--r--weed/storage/needle_map_metric.go4
-rw-r--r--weed/storage/needle_map_metric_test.go4
-rw-r--r--weed/storage/store.go18
-rw-r--r--weed/storage/store_ec.go16
-rw-r--r--weed/storage/store_ec_delete.go12
-rw-r--r--weed/storage/store_vacuum.go4
-rw-r--r--weed/storage/types/needle_id_type.go2
-rw-r--r--weed/storage/types/needle_types.go2
-rw-r--r--weed/storage/volume.go15
-rw-r--r--weed/storage/volume_backup.go10
-rw-r--r--weed/storage/volume_checking.go8
-rw-r--r--weed/storage/volume_create.go6
-rw-r--r--weed/storage/volume_create_linux.go4
-rw-r--r--weed/storage/volume_create_windows.go34
-rw-r--r--weed/storage/volume_info.go4
-rw-r--r--weed/storage/volume_info_test.go2
-rw-r--r--weed/storage/volume_loading.go8
-rw-r--r--weed/storage/volume_read_write.go13
-rw-r--r--weed/storage/volume_super_block.go75
-rw-r--r--weed/storage/volume_super_block_test.go2
-rw-r--r--weed/storage/volume_vacuum.go152
-rw-r--r--weed/storage/volume_vacuum_test.go8
-rw-r--r--weed/topology/allocate_volume.go7
-rw-r--r--weed/topology/cluster_commands.go4
-rw-r--r--weed/topology/collection.go6
-rw-r--r--weed/topology/data_center.go2
-rw-r--r--weed/topology/data_node.go10
-rw-r--r--weed/topology/data_node_ec.go4
-rw-r--r--weed/topology/node.go6
-rw-r--r--weed/topology/rack.go2
-rw-r--r--weed/topology/store_replicate.go12
-rw-r--r--weed/topology/topology.go12
-rw-r--r--weed/topology/topology_ec.go8
-rw-r--r--weed/topology/topology_event_handling.go4
-rw-r--r--weed/topology/topology_map.go2
-rw-r--r--weed/topology/topology_test.go8
-rw-r--r--weed/topology/topology_vacuum.go8
-rw-r--r--weed/topology/volume_growth.go7
-rw-r--r--weed/topology/volume_growth_test.go6
-rw-r--r--weed/topology/volume_layout.go6
-rw-r--r--weed/topology/volume_location_list.go2
-rw-r--r--weed/util/compression.go2
-rw-r--r--weed/util/config.go2
-rw-r--r--weed/util/file_util.go2
-rw-r--r--weed/util/net_timeout.go2
-rw-r--r--weed/util/pprof.go2
-rw-r--r--weed/wdclient/masterclient.go6
-rw-r--r--weed/wdclient/vid_map.go2
-rw-r--r--weed/weed.go4
251 files changed, 1561 insertions, 913 deletions
diff --git a/unmaintained/change_superblock/change_superblock.go b/unmaintained/change_superblock/change_superblock.go
index 07d9b94e4..9326b32e2 100644
--- a/unmaintained/change_superblock/change_superblock.go
+++ b/unmaintained/change_superblock/change_superblock.go
@@ -7,9 +7,9 @@ import (
"path"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
var (
diff --git a/unmaintained/fix_dat/fix_dat.go b/unmaintained/fix_dat/fix_dat.go
index a72a78eed..0d49f2fa7 100644
--- a/unmaintained/fix_dat/fix_dat.go
+++ b/unmaintained/fix_dat/fix_dat.go
@@ -8,11 +8,11 @@ import (
"path"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var (
diff --git a/unmaintained/repeated_vacuum/repeated_vacuum.go b/unmaintained/repeated_vacuum/repeated_vacuum.go
index 28bcabb9b..d613f7516 100644
--- a/unmaintained/repeated_vacuum/repeated_vacuum.go
+++ b/unmaintained/repeated_vacuum/repeated_vacuum.go
@@ -7,11 +7,11 @@ import (
"log"
"math/rand"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var (
diff --git a/unmaintained/see_dat/see_dat.go b/unmaintained/see_dat/see_dat.go
index e8e54fd4f..ed6bf930e 100644
--- a/unmaintained/see_dat/see_dat.go
+++ b/unmaintained/see_dat/see_dat.go
@@ -3,9 +3,9 @@ package main
import (
"flag"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"time"
)
diff --git a/unmaintained/see_idx/see_idx.go b/unmaintained/see_idx/see_idx.go
index 777af1821..7c8c40a8d 100644
--- a/unmaintained/see_idx/see_idx.go
+++ b/unmaintained/see_idx/see_idx.go
@@ -7,9 +7,9 @@ import (
"path"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
var (
diff --git a/unmaintained/see_meta/see_meta.go b/unmaintained/see_meta/see_meta.go
index 0d2ac8de1..856fa40bf 100644
--- a/unmaintained/see_meta/see_meta.go
+++ b/unmaintained/see_meta/see_meta.go
@@ -7,9 +7,9 @@ import (
"log"
"os"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/unmaintained/volume_tailer/volume_tailer.go b/unmaintained/volume_tailer/volume_tailer.go
index f0ef51c09..9ae0a6e62 100644
--- a/unmaintained/volume_tailer/volume_tailer.go
+++ b/unmaintained/volume_tailer/volume_tailer.go
@@ -5,10 +5,10 @@ import (
"log"
"time"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- util2 "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ util2 "github.com/joeslay/seaweedfs/weed/util"
"github.com/spf13/viper"
"golang.org/x/tools/godoc/util"
)
diff --git a/weed/command/backup.go b/weed/command/backup.go
index cd5843dd3..65d2a745b 100644
--- a/weed/command/backup.go
+++ b/weed/command/backup.go
@@ -3,13 +3,13 @@ package command
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/spf13/viper"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/storage"
)
var (
@@ -112,7 +112,7 @@ func runBackup(cmd *Command, args []string) bool {
return true
}
}
- v, err := storage.NewVolume(*s.dir, *s.collection, vid, storage.NeedleMapInMemory, replication, ttl, 0)
+ v, err := storage.NewVolume(*s.dir, *s.collection, vid, storage.NeedleMapInMemory, replication, ttl, 0, false)
if err != nil {
fmt.Printf("Error creating or reading from volume %d: %v\n", vid, err)
return true
@@ -137,7 +137,7 @@ func runBackup(cmd *Command, args []string) bool {
// remove the old data
v.Destroy()
// recreate an empty volume
- v, err = storage.NewVolume(*s.dir, *s.collection, vid, storage.NeedleMapInMemory, replication, ttl, 0)
+ v, err = storage.NewVolume(*s.dir, *s.collection, vid, storage.NeedleMapInMemory, replication, ttl, 0, false)
if err != nil {
fmt.Printf("Error creating or reading from volume %d: %v\n", vid, err)
return true
diff --git a/weed/command/benchmark.go b/weed/command/benchmark.go
index dd0fdb88e..bf655caa0 100644
--- a/weed/command/benchmark.go
+++ b/weed/command/benchmark.go
@@ -18,11 +18,11 @@ import (
"github.com/spf13/viper"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/util"
- "github.com/chrislusf/seaweedfs/weed/wdclient"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/wdclient"
)
type BenchmarkOptions struct {
diff --git a/weed/command/compact.go b/weed/command/compact.go
index 79d50c095..f10b0b2bc 100644
--- a/weed/command/compact.go
+++ b/weed/command/compact.go
@@ -1,9 +1,9 @@
package command
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func init() {
@@ -38,7 +38,7 @@ func runCompact(cmd *Command, args []string) bool {
vid := needle.VolumeId(*compactVolumeId)
v, err := storage.NewVolume(*compactVolumePath, *compactVolumeCollection, vid,
- storage.NeedleMapInMemory, nil, nil, preallocate)
+ storage.NeedleMapInMemory, nil, nil, preallocate, false)
if err != nil {
glog.Fatalf("Load Volume [ERROR] %s\n", err)
}
diff --git a/weed/command/download.go b/weed/command/download.go
index b3e33defd..c57517d00 100644
--- a/weed/command/download.go
+++ b/weed/command/download.go
@@ -8,8 +8,8 @@ import (
"path"
"strings"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var (
diff --git a/weed/command/export.go b/weed/command/export.go
index 7e94ec11c..43aa38872 100644
--- a/weed/command/export.go
+++ b/weed/command/export.go
@@ -14,10 +14,10 @@ import (
"io"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
const (
diff --git a/weed/command/filer.go b/weed/command/filer.go
index b1ceb46f5..ddd60d375 100644
--- a/weed/command/filer.go
+++ b/weed/command/filer.go
@@ -6,13 +6,13 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/server"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/server"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc/reflection"
)
diff --git a/weed/command/filer_copy.go b/weed/command/filer_copy.go
index 19aceb211..3aa845eba 100644
--- a/weed/command/filer_copy.go
+++ b/weed/command/filer_copy.go
@@ -14,11 +14,11 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/util"
- "github.com/chrislusf/seaweedfs/weed/wdclient"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/wdclient"
"github.com/spf13/viper"
"google.golang.org/grpc"
)
diff --git a/weed/command/filer_replication.go b/weed/command/filer_replication.go
index c6e7f5dba..1040e2174 100644
--- a/weed/command/filer_replication.go
+++ b/weed/command/filer_replication.go
@@ -4,16 +4,16 @@ import (
"context"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/replication"
- "github.com/chrislusf/seaweedfs/weed/replication/sink"
- _ "github.com/chrislusf/seaweedfs/weed/replication/sink/azuresink"
- _ "github.com/chrislusf/seaweedfs/weed/replication/sink/b2sink"
- _ "github.com/chrislusf/seaweedfs/weed/replication/sink/filersink"
- _ "github.com/chrislusf/seaweedfs/weed/replication/sink/gcssink"
- _ "github.com/chrislusf/seaweedfs/weed/replication/sink/s3sink"
- "github.com/chrislusf/seaweedfs/weed/replication/sub"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/replication"
+ "github.com/joeslay/seaweedfs/weed/replication/sink"
+ _ "github.com/joeslay/seaweedfs/weed/replication/sink/azuresink"
+ _ "github.com/joeslay/seaweedfs/weed/replication/sink/b2sink"
+ _ "github.com/joeslay/seaweedfs/weed/replication/sink/filersink"
+ _ "github.com/joeslay/seaweedfs/weed/replication/sink/gcssink"
+ _ "github.com/joeslay/seaweedfs/weed/replication/sink/s3sink"
+ "github.com/joeslay/seaweedfs/weed/replication/sub"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/spf13/viper"
)
diff --git a/weed/command/fix.go b/weed/command/fix.go
index bf33490cc..c6d017d07 100644
--- a/weed/command/fix.go
+++ b/weed/command/fix.go
@@ -5,10 +5,10 @@ import (
"path"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
func init() {
diff --git a/weed/command/master.go b/weed/command/master.go
index 3d33f4f7a..3e4fc15e8 100644
--- a/weed/command/master.go
+++ b/weed/command/master.go
@@ -8,11 +8,11 @@ import (
"strings"
"github.com/chrislusf/raft/protobuf"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/server"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/server"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/gorilla/mux"
"github.com/spf13/viper"
"google.golang.org/grpc/reflection"
diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go
index 0519ae7b8..4dc21d334 100644
--- a/weed/command/mount_std.go
+++ b/weed/command/mount_std.go
@@ -12,13 +12,13 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/jacobsa/daemonize"
"github.com/spf13/viper"
- "github.com/chrislusf/seaweedfs/weed/filesys"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filesys"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/seaweedfs/fuse"
"github.com/seaweedfs/fuse/fs"
)
diff --git a/weed/command/s3.go b/weed/command/s3.go
index e004bb066..c3f2d61d4 100644
--- a/weed/command/s3.go
+++ b/weed/command/s3.go
@@ -4,14 +4,14 @@ import (
"net/http"
"time"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/s3api"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/s3api"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/gorilla/mux"
)
diff --git a/weed/command/server.go b/weed/command/server.go
index 87f404ed3..dea5c49c4 100644
--- a/weed/command/server.go
+++ b/weed/command/server.go
@@ -8,8 +8,8 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type ServerOptions struct {
diff --git a/weed/command/shell.go b/weed/command/shell.go
index 79f8b8bf9..2adac4d0e 100644
--- a/weed/command/shell.go
+++ b/weed/command/shell.go
@@ -1,9 +1,9 @@
package command
import (
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/shell"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/shell"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/spf13/viper"
)
diff --git a/weed/command/upload.go b/weed/command/upload.go
index 25e938d9b..861f6261d 100644
--- a/weed/command/upload.go
+++ b/weed/command/upload.go
@@ -6,11 +6,11 @@ import (
"os"
"path/filepath"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/spf13/viper"
- "github.com/chrislusf/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/operation"
)
var (
diff --git a/weed/command/version.go b/weed/command/version.go
index 8fdd68ec8..e8b417d1c 100644
--- a/weed/command/version.go
+++ b/weed/command/version.go
@@ -4,7 +4,7 @@ import (
"fmt"
"runtime"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var cmdVersion = &Command{
diff --git a/weed/command/volume.go b/weed/command/volume.go
index 3c1aa2b50..0a0e16ac4 100644
--- a/weed/command/volume.go
+++ b/weed/command/volume.go
@@ -9,14 +9,14 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/server"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/server"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc/reflection"
)
diff --git a/weed/command/volume_test.go b/weed/command/volume_test.go
index 7399f1248..65b96a7c2 100644
--- a/weed/command/volume_test.go
+++ b/weed/command/volume_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
func TestXYZ(t *testing.T) {
diff --git a/weed/command/webdav.go b/weed/command/webdav.go
index 371c4a9ad..313aa1382 100644
--- a/weed/command/webdav.go
+++ b/weed/command/webdav.go
@@ -7,10 +7,10 @@ import (
"strconv"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/server"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/server"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/spf13/viper"
)
diff --git a/weed/filer2/abstract_sql/abstract_sql_store.go b/weed/filer2/abstract_sql/abstract_sql_store.go
index 3e8554957..9519d4cd8 100644
--- a/weed/filer2/abstract_sql/abstract_sql_store.go
+++ b/weed/filer2/abstract_sql/abstract_sql_store.go
@@ -5,8 +5,8 @@ import (
"database/sql"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
type AbstractSqlStore struct {
diff --git a/weed/filer2/cassandra/cassandra_store.go b/weed/filer2/cassandra/cassandra_store.go
index 466be5bf3..9a31d8030 100644
--- a/weed/filer2/cassandra/cassandra_store.go
+++ b/weed/filer2/cassandra/cassandra_store.go
@@ -3,9 +3,9 @@ package cassandra
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/gocql/gocql"
)
diff --git a/weed/filer2/configuration.go b/weed/filer2/configuration.go
index 7b05b53dc..c4712a48a 100644
--- a/weed/filer2/configuration.go
+++ b/weed/filer2/configuration.go
@@ -3,7 +3,7 @@ package filer2
import (
"os"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
"github.com/spf13/viper"
)
diff --git a/weed/filer2/entry.go b/weed/filer2/entry.go
index 3f8a19114..480ad631e 100644
--- a/weed/filer2/entry.go
+++ b/weed/filer2/entry.go
@@ -4,7 +4,7 @@ import (
"os"
"time"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
type Attr struct {
diff --git a/weed/filer2/entry_codec.go b/weed/filer2/entry_codec.go
index cf4627b74..1b0f4f64b 100644
--- a/weed/filer2/entry_codec.go
+++ b/weed/filer2/entry_codec.go
@@ -5,7 +5,7 @@ import (
"time"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/filer2/etcd/etcd_store.go b/weed/filer2/etcd/etcd_store.go
index 1b0f928d0..42987c130 100644
--- a/weed/filer2/etcd/etcd_store.go
+++ b/weed/filer2/etcd/etcd_store.go
@@ -6,9 +6,9 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- weed_util "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ weed_util "github.com/joeslay/seaweedfs/weed/util"
"go.etcd.io/etcd/clientv3"
)
diff --git a/weed/filer2/filechunks.go b/weed/filer2/filechunks.go
index b5876df82..130d4ead5 100644
--- a/weed/filer2/filechunks.go
+++ b/weed/filer2/filechunks.go
@@ -6,7 +6,7 @@ import (
"sort"
"sync"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
func TotalSize(chunks []*filer_pb.FileChunk) (size uint64) {
diff --git a/weed/filer2/filechunks_test.go b/weed/filer2/filechunks_test.go
index e75e60753..c0c20fbf1 100644
--- a/weed/filer2/filechunks_test.go
+++ b/weed/filer2/filechunks_test.go
@@ -5,7 +5,7 @@ import (
"testing"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
func TestCompactFileChunks(t *testing.T) {
diff --git a/weed/filer2/filer.go b/weed/filer2/filer.go
index cf236b74d..d86090e62 100644
--- a/weed/filer2/filer.go
+++ b/weed/filer2/filer.go
@@ -10,8 +10,8 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/wdclient"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/wdclient"
"github.com/karlseguin/ccache"
)
diff --git a/weed/filer2/filer_client_util.go b/weed/filer2/filer_client_util.go
index 7e093eea2..49bf39e51 100644
--- a/weed/filer2/filer_client_util.go
+++ b/weed/filer2/filer_client_util.go
@@ -6,9 +6,9 @@ import (
"strings"
"sync"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func VolumeId(fileId string) string {
diff --git a/weed/filer2/filer_deletion.go b/weed/filer2/filer_deletion.go
index 25e27e504..bb1cbcefe 100644
--- a/weed/filer2/filer_deletion.go
+++ b/weed/filer2/filer_deletion.go
@@ -3,9 +3,9 @@ package filer2
import (
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
func (f *Filer) loopProcessingDeletion() {
diff --git a/weed/filer2/filer_notify.go b/weed/filer2/filer_notify.go
index c37381116..82aae9da3 100644
--- a/weed/filer2/filer_notify.go
+++ b/weed/filer2/filer_notify.go
@@ -1,9 +1,9 @@
package filer2
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/notification"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
func (f *Filer) NotifyUpdateEvent(oldEntry, newEntry *Entry, deleteChunks bool) {
diff --git a/weed/filer2/filer_notify_test.go b/weed/filer2/filer_notify_test.go
index b74e2ad35..d8319463f 100644
--- a/weed/filer2/filer_notify_test.go
+++ b/weed/filer2/filer_notify_test.go
@@ -4,7 +4,7 @@ import (
"testing"
"time"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/filer2/filerstore.go b/weed/filer2/filerstore.go
index 8caa44ee2..dd61f25bd 100644
--- a/weed/filer2/filerstore.go
+++ b/weed/filer2/filerstore.go
@@ -5,9 +5,9 @@ import (
"errors"
"time"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type FilerStore interface {
diff --git a/weed/filer2/leveldb/leveldb_store.go b/weed/filer2/leveldb/leveldb_store.go
index d00eba859..3607f0d06 100644
--- a/weed/filer2/leveldb/leveldb_store.go
+++ b/weed/filer2/leveldb/leveldb_store.go
@@ -5,9 +5,9 @@ import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- weed_util "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ weed_util "github.com/joeslay/seaweedfs/weed/util"
"github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/opt"
leveldb_util "github.com/syndtr/goleveldb/leveldb/util"
diff --git a/weed/filer2/leveldb/leveldb_store_test.go b/weed/filer2/leveldb/leveldb_store_test.go
index 904de8c97..7ac9c888f 100644
--- a/weed/filer2/leveldb/leveldb_store_test.go
+++ b/weed/filer2/leveldb/leveldb_store_test.go
@@ -2,7 +2,7 @@ package leveldb
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/filer2"
"io/ioutil"
"os"
"testing"
diff --git a/weed/filer2/leveldb2/leveldb2_store.go b/weed/filer2/leveldb2/leveldb2_store.go
index 4b47d2eb3..e70a9e223 100644
--- a/weed/filer2/leveldb2/leveldb2_store.go
+++ b/weed/filer2/leveldb2/leveldb2_store.go
@@ -8,9 +8,9 @@ import (
"io"
"os"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- weed_util "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ weed_util "github.com/joeslay/seaweedfs/weed/util"
"github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/opt"
leveldb_util "github.com/syndtr/goleveldb/leveldb/util"
diff --git a/weed/filer2/leveldb2/leveldb2_store_test.go b/weed/filer2/leveldb2/leveldb2_store_test.go
index e28ef7dac..39886c7ce 100644
--- a/weed/filer2/leveldb2/leveldb2_store_test.go
+++ b/weed/filer2/leveldb2/leveldb2_store_test.go
@@ -2,7 +2,7 @@ package leveldb
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/filer2"
"io/ioutil"
"os"
"testing"
diff --git a/weed/filer2/memdb/memdb_store.go b/weed/filer2/memdb/memdb_store.go
index 9c10a5472..673599a6b 100644
--- a/weed/filer2/memdb/memdb_store.go
+++ b/weed/filer2/memdb/memdb_store.go
@@ -3,8 +3,8 @@ package memdb
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/google/btree"
"strings"
"sync"
diff --git a/weed/filer2/memdb/memdb_store_test.go b/weed/filer2/memdb/memdb_store_test.go
index d823c5177..e6f507102 100644
--- a/weed/filer2/memdb/memdb_store_test.go
+++ b/weed/filer2/memdb/memdb_store_test.go
@@ -2,7 +2,7 @@ package memdb
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/filer2"
"testing"
)
diff --git a/weed/filer2/mysql/mysql_store.go b/weed/filer2/mysql/mysql_store.go
index e18299bd2..985ea64bf 100644
--- a/weed/filer2/mysql/mysql_store.go
+++ b/weed/filer2/mysql/mysql_store.go
@@ -4,9 +4,9 @@ import (
"database/sql"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/filer2/abstract_sql"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/filer2/abstract_sql"
+ "github.com/joeslay/seaweedfs/weed/util"
_ "github.com/go-sql-driver/mysql"
)
diff --git a/weed/filer2/postgres/postgres_store.go b/weed/filer2/postgres/postgres_store.go
index ffd3d1e01..63d4f0cb2 100644
--- a/weed/filer2/postgres/postgres_store.go
+++ b/weed/filer2/postgres/postgres_store.go
@@ -4,9 +4,9 @@ import (
"database/sql"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/filer2/abstract_sql"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/filer2/abstract_sql"
+ "github.com/joeslay/seaweedfs/weed/util"
_ "github.com/lib/pq"
)
diff --git a/weed/filer2/redis/redis_cluster_store.go b/weed/filer2/redis/redis_cluster_store.go
index 11c315391..a8bbf3a32 100644
--- a/weed/filer2/redis/redis_cluster_store.go
+++ b/weed/filer2/redis/redis_cluster_store.go
@@ -1,8 +1,8 @@
package redis
import (
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/go-redis/redis"
)
diff --git a/weed/filer2/redis/redis_store.go b/weed/filer2/redis/redis_store.go
index c56fa014c..3614f3226 100644
--- a/weed/filer2/redis/redis_store.go
+++ b/weed/filer2/redis/redis_store.go
@@ -1,8 +1,8 @@
package redis
import (
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/go-redis/redis"
)
diff --git a/weed/filer2/redis/universal_redis_store.go b/weed/filer2/redis/universal_redis_store.go
index ce41d4d70..bd7a42da1 100644
--- a/weed/filer2/redis/universal_redis_store.go
+++ b/weed/filer2/redis/universal_redis_store.go
@@ -3,8 +3,8 @@ package redis
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
"github.com/go-redis/redis"
"sort"
"strings"
diff --git a/weed/filer2/stream.go b/weed/filer2/stream.go
index 01b87cad1..fc04c9a0e 100644
--- a/weed/filer2/stream.go
+++ b/weed/filer2/stream.go
@@ -3,10 +3,10 @@ package filer2
import (
"io"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
- "github.com/chrislusf/seaweedfs/weed/wdclient"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/wdclient"
)
func StreamContent(masterClient *wdclient.MasterClient, w io.Writer, chunks []*filer_pb.FileChunk, offset int64, size int) error {
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index 79cf45385..48c75d809 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -6,9 +6,9 @@ import (
"path"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/seaweedfs/fuse"
"github.com/seaweedfs/fuse/fs"
)
diff --git a/weed/filesys/dir_link.go b/weed/filesys/dir_link.go
index 94e443649..ded6138c4 100644
--- a/weed/filesys/dir_link.go
+++ b/weed/filesys/dir_link.go
@@ -6,8 +6,8 @@ import (
"syscall"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/seaweedfs/fuse"
"github.com/seaweedfs/fuse/fs"
)
diff --git a/weed/filesys/dir_rename.go b/weed/filesys/dir_rename.go
index e72a15758..24bff770b 100644
--- a/weed/filesys/dir_rename.go
+++ b/weed/filesys/dir_rename.go
@@ -3,7 +3,7 @@ package filesys
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/seaweedfs/fuse"
"github.com/seaweedfs/fuse/fs"
)
diff --git a/weed/filesys/dirty_page.go b/weed/filesys/dirty_page.go
index baee412b2..f9718c93f 100644
--- a/weed/filesys/dirty_page.go
+++ b/weed/filesys/dirty_page.go
@@ -8,10 +8,10 @@ import (
"sync/atomic"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
)
type ContinuousDirtyPages struct {
diff --git a/weed/filesys/file.go b/weed/filesys/file.go
index 1b359ebbe..a0dac36dd 100644
--- a/weed/filesys/file.go
+++ b/weed/filesys/file.go
@@ -7,9 +7,9 @@ import (
"sort"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/seaweedfs/fuse"
"github.com/seaweedfs/fuse/fs"
)
diff --git a/weed/filesys/filehandle.go b/weed/filesys/filehandle.go
index 1f4754dd1..59e1705ae 100644
--- a/weed/filesys/filehandle.go
+++ b/weed/filesys/filehandle.go
@@ -7,9 +7,9 @@ import (
"path"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/gabriel-vasile/mimetype"
"github.com/seaweedfs/fuse"
"github.com/seaweedfs/fuse/fs"
diff --git a/weed/filesys/wfs.go b/weed/filesys/wfs.go
index 1bd9b5cc9..215201040 100644
--- a/weed/filesys/wfs.go
+++ b/weed/filesys/wfs.go
@@ -8,9 +8,9 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/karlseguin/ccache"
"github.com/seaweedfs/fuse"
"github.com/seaweedfs/fuse/fs"
diff --git a/weed/filesys/wfs_deletion.go b/weed/filesys/wfs_deletion.go
index 6e586b7df..b1bd53e7b 100644
--- a/weed/filesys/wfs_deletion.go
+++ b/weed/filesys/wfs_deletion.go
@@ -3,10 +3,10 @@ package filesys
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"google.golang.org/grpc"
)
diff --git a/weed/images/resizing.go b/weed/images/resizing.go
index ff0eff5e1..81d9e20c8 100644
--- a/weed/images/resizing.go
+++ b/weed/images/resizing.go
@@ -7,7 +7,7 @@ import (
"image/jpeg"
"image/png"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
"github.com/disintegration/imaging"
"io"
)
diff --git a/weed/notification/aws_sqs/aws_sqs_pub.go b/weed/notification/aws_sqs/aws_sqs_pub.go
index c1af7f27a..1ddd51af5 100644
--- a/weed/notification/aws_sqs/aws_sqs_pub.go
+++ b/weed/notification/aws_sqs/aws_sqs_pub.go
@@ -8,9 +8,9 @@ import (
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/sqs"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/notification"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/notification/configuration.go b/weed/notification/configuration.go
index 7f8765cc3..a8f992660 100644
--- a/weed/notification/configuration.go
+++ b/weed/notification/configuration.go
@@ -1,8 +1,8 @@
package notification
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
"github.com/spf13/viper"
)
diff --git a/weed/notification/gocdk_pub_sub/gocdk_pub_sub.go b/weed/notification/gocdk_pub_sub/gocdk_pub_sub.go
index ebf44ea6f..5a8fac51f 100644
--- a/weed/notification/gocdk_pub_sub/gocdk_pub_sub.go
+++ b/weed/notification/gocdk_pub_sub/gocdk_pub_sub.go
@@ -18,9 +18,9 @@ import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/notification"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
"gocloud.dev/pubsub"
_ "gocloud.dev/pubsub/awssnssqs"
diff --git a/weed/notification/google_pub_sub/google_pub_sub.go b/weed/notification/google_pub_sub/google_pub_sub.go
index 7b26bfe38..fe4399120 100644
--- a/weed/notification/google_pub_sub/google_pub_sub.go
+++ b/weed/notification/google_pub_sub/google_pub_sub.go
@@ -6,9 +6,9 @@ import (
"os"
"cloud.google.com/go/pubsub"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/notification"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
"google.golang.org/api/option"
)
diff --git a/weed/notification/kafka/kafka_queue.go b/weed/notification/kafka/kafka_queue.go
index 830709a51..eba5260c9 100644
--- a/weed/notification/kafka/kafka_queue.go
+++ b/weed/notification/kafka/kafka_queue.go
@@ -2,9 +2,9 @@ package kafka
import (
"github.com/Shopify/sarama"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/notification"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/notification/log/log_queue.go b/weed/notification/log/log_queue.go
index dcc038dfc..ca15fa4af 100644
--- a/weed/notification/log/log_queue.go
+++ b/weed/notification/log/log_queue.go
@@ -1,9 +1,9 @@
package kafka
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/notification"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/operation/assign_file_id.go b/weed/operation/assign_file_id.go
index 4c50eaa26..dbc2b3986 100644
--- a/weed/operation/assign_file_id.go
+++ b/weed/operation/assign_file_id.go
@@ -3,9 +3,9 @@ package operation
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc"
"strings"
)
diff --git a/weed/operation/chunked_file.go b/weed/operation/chunked_file.go
index 295204dd8..6c0442693 100644
--- a/weed/operation/chunked_file.go
+++ b/weed/operation/chunked_file.go
@@ -13,8 +13,8 @@ import (
"sync"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var (
diff --git a/weed/operation/delete_content.go b/weed/operation/delete_content.go
index 6d84be76f..fbacdac4d 100644
--- a/weed/operation/delete_content.go
+++ b/weed/operation/delete_content.go
@@ -4,8 +4,8 @@ import (
"context"
"errors"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
"google.golang.org/grpc"
"net/http"
"strings"
diff --git a/weed/operation/grpc_client.go b/weed/operation/grpc_client.go
index f6b2b69e9..1eb493115 100644
--- a/weed/operation/grpc_client.go
+++ b/weed/operation/grpc_client.go
@@ -3,10 +3,10 @@ package operation
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc"
"strconv"
"strings"
diff --git a/weed/operation/lookup.go b/weed/operation/lookup.go
index d0773e7fd..7a876d543 100644
--- a/weed/operation/lookup.go
+++ b/weed/operation/lookup.go
@@ -11,8 +11,8 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type Location struct {
diff --git a/weed/operation/lookup_vid_cache.go b/weed/operation/lookup_vid_cache.go
index ccc1f2beb..181d2d1bf 100644
--- a/weed/operation/lookup_vid_cache.go
+++ b/weed/operation/lookup_vid_cache.go
@@ -6,7 +6,7 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
var ErrorNotFound = errors.New("not found")
diff --git a/weed/operation/stats.go b/weed/operation/stats.go
index b69a33750..432c95376 100644
--- a/weed/operation/stats.go
+++ b/weed/operation/stats.go
@@ -4,7 +4,7 @@ import (
"context"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
)
func Statistics(server string, grpcDialOption grpc.DialOption, req *master_pb.StatisticsRequest) (resp *master_pb.StatisticsResponse, err error) {
diff --git a/weed/operation/submit.go b/weed/operation/submit.go
index bdf59d966..12be0262d 100644
--- a/weed/operation/submit.go
+++ b/weed/operation/submit.go
@@ -11,8 +11,8 @@ import (
"strconv"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/security"
)
type FilePart struct {
diff --git a/weed/operation/sync_volume.go b/weed/operation/sync_volume.go
index 5562f12ab..79436440c 100644
--- a/weed/operation/sync_volume.go
+++ b/weed/operation/sync_volume.go
@@ -2,7 +2,7 @@ package operation
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
"google.golang.org/grpc"
)
diff --git a/weed/operation/tail_volume.go b/weed/operation/tail_volume.go
index b53f18ce1..5298233bc 100644
--- a/weed/operation/tail_volume.go
+++ b/weed/operation/tail_volume.go
@@ -5,8 +5,8 @@ import (
"fmt"
"io"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
)
diff --git a/weed/operation/upload_content.go b/weed/operation/upload_content.go
index c387d0230..68d6d7a75 100644
--- a/weed/operation/upload_content.go
+++ b/weed/operation/upload_content.go
@@ -16,9 +16,9 @@ import (
"path/filepath"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type UploadResult struct {
diff --git a/weed/os_overloads/file_windows.go b/weed/os_overloads/file_windows.go
new file mode 100644
index 000000000..05aa384e2
--- /dev/null
+++ b/weed/os_overloads/file_windows.go
@@ -0,0 +1,168 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package os_overloads
+
+import (
+ "os"
+ "syscall"
+
+ "golang.org/x/sys/windows"
+)
+
+func isAbs(path string) (b bool) {
+ v := volumeName(path)
+ if v == "" {
+ return false
+ }
+ path = path[len(v):]
+ if path == "" {
+ return false
+ }
+ return os.IsPathSeparator(path[0])
+}
+
+func volumeName(path string) (v string) {
+ if len(path) < 2 {
+ return ""
+ }
+ // with drive letter
+ c := path[0]
+ if path[1] == ':' &&
+ ('0' <= c && c <= '9' || 'a' <= c && c <= 'z' ||
+ 'A' <= c && c <= 'Z') {
+ return path[:2]
+ }
+ // is it UNC
+ if l := len(path); l >= 5 && os.IsPathSeparator(path[0]) && os.IsPathSeparator(path[1]) &&
+ !os.IsPathSeparator(path[2]) && path[2] != '.' {
+ // first, leading `\\` and next shouldn't be `\`. its server name.
+ for n := 3; n < l-1; n++ {
+ // second, next '\' shouldn't be repeated.
+ if os.IsPathSeparator(path[n]) {
+ n++
+ // third, following something characters. its share name.
+ if !os.IsPathSeparator(path[n]) {
+ if path[n] == '.' {
+ break
+ }
+ for ; n < l; n++ {
+ if os.IsPathSeparator(path[n]) {
+ break
+ }
+ }
+ return path[:n]
+ }
+ break
+ }
+ }
+ }
+ return ""
+}
+
+// fixLongPath returns the extended-length (\\?\-prefixed) form of
+// path when needed, in order to avoid the default 260 character file
+// path limit imposed by Windows. If path is not easily converted to
+// the extended-length form (for example, if path is a relative path
+// or contains .. elements), or is short enough, fixLongPath returns
+// path unmodified.
+//
+// See https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
+func fixLongPath(path string) string {
+ // Do nothing (and don't allocate) if the path is "short".
+ // Empirically (at least on the Windows Server 2013 builder),
+ // the kernel is arbitrarily okay with < 248 bytes. That
+ // matches what the docs above say:
+ // "When using an API to create a directory, the specified
+ // path cannot be so long that you cannot append an 8.3 file
+ // name (that is, the directory name cannot exceed MAX_PATH
+ // minus 12)." Since MAX_PATH is 260, 260 - 12 = 248.
+ //
+ // The MSDN docs appear to say that a normal path that is 248 bytes long
+ // will work; empirically the path must be less then 248 bytes long.
+ if len(path) < 248 {
+ // Don't fix. (This is how Go 1.7 and earlier worked,
+ // not automatically generating the \\?\ form)
+ return path
+ }
+
+ // The extended form begins with \\?\, as in
+ // \\?\c:\windows\foo.txt or \\?\UNC\server\share\foo.txt.
+ // The extended form disables evaluation of . and .. path
+ // elements and disables the interpretation of / as equivalent
+ // to \. The conversion here rewrites / to \ and elides
+ // . elements as well as trailing or duplicate separators. For
+ // simplicity it avoids the conversion entirely for relative
+ // paths or paths containing .. elements. For now,
+ // \\server\share paths are not converted to
+ // \\?\UNC\server\share paths because the rules for doing so
+ // are less well-specified.
+ if len(path) >= 2 && path[:2] == `\\` {
+ // Don't canonicalize UNC paths.
+ return path
+ }
+ if !isAbs(path) {
+ // Relative path
+ return path
+ }
+
+ const prefix = `\\?`
+
+ pathbuf := make([]byte, len(prefix)+len(path)+len(`\`))
+ copy(pathbuf, prefix)
+ n := len(path)
+ r, w := 0, len(prefix)
+ for r < n {
+ switch {
+ case os.IsPathSeparator(path[r]):
+ // empty block
+ r++
+ case path[r] == '.' && (r+1 == n || os.IsPathSeparator(path[r+1])):
+ // /./
+ r++
+ case r+1 < n && path[r] == '.' && path[r+1] == '.' && (r+2 == n || os.IsPathSeparator(path[r+2])):
+ // /../ is currently unhandled
+ return path
+ default:
+ pathbuf[w] = '\\'
+ w++
+ for ; r < n && !os.IsPathSeparator(path[r]); r++ {
+ pathbuf[w] = path[r]
+ w++
+ }
+ }
+ }
+ // A drive's root directory needs a trailing \
+ if w == len(`\\?\c:`) {
+ pathbuf[w] = '\\'
+ w++
+ }
+ return string(pathbuf[:w])
+}
+
+// syscallMode returns the syscall-specific mode bits from Go's portable mode bits.
+func syscallMode(i os.FileMode) (o uint32) {
+ o |= uint32(i.Perm())
+ if i&os.ModeSetuid != 0 {
+ o |= syscall.S_ISUID
+ }
+ if i&os.ModeSetgid != 0 {
+ o |= syscall.S_ISGID
+ }
+ if i&os.ModeSticky != 0 {
+ o |= syscall.S_ISVTX
+ }
+ // No mapping for Go's ModeTemporary (plan9 only).
+ return
+}
+
+//If the bool is set to true then the file is opened with the parameters FILE_ATTRIBUTE_TEMPORARY and
+// FILE_FLAG_DELETE_ON_CLOSE
+func OpenFile(name string, flag int, perm os.FileMode, setToTempAndDelete bool) (file *os.File, err error) {
+ r, e := Open(fixLongPath(name), flag|windows.O_CLOEXEC, syscallMode(perm), setToTempAndDelete)
+ if e != nil {
+ return nil, e
+ }
+ return os.NewFile(uintptr(r), name), nil
+}
diff --git a/weed/os_overloads/syscall_windows.go b/weed/os_overloads/syscall_windows.go
new file mode 100644
index 000000000..081cba431
--- /dev/null
+++ b/weed/os_overloads/syscall_windows.go
@@ -0,0 +1,80 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Windows system calls.
+
+package os_overloads
+
+import (
+ "syscall"
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+// windows api calls
+
+//sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW
+
+func makeInheritSa() *syscall.SecurityAttributes {
+ var sa syscall.SecurityAttributes
+ sa.Length = uint32(unsafe.Sizeof(sa))
+ sa.InheritHandle = 1
+ return &sa
+}
+
+// opens the
+func Open(path string, mode int, perm uint32, setToTempAndDelete bool) (fd syscall.Handle, err error) {
+ if len(path) == 0 {
+ return syscall.InvalidHandle, windows.ERROR_FILE_NOT_FOUND
+ }
+ pathp, err := syscall.UTF16PtrFromString(path)
+ if err != nil {
+ return syscall.InvalidHandle, err
+ }
+ var access uint32
+ switch mode & (windows.O_RDONLY | windows.O_WRONLY | windows.O_RDWR) {
+ case windows.O_RDONLY:
+ access = windows.GENERIC_READ
+ case windows.O_WRONLY:
+ access = windows.GENERIC_WRITE
+ case windows.O_RDWR:
+ access = windows.GENERIC_READ | windows.GENERIC_WRITE
+ }
+ if mode&windows.O_CREAT != 0 {
+ access |= windows.GENERIC_WRITE
+ }
+ if mode&windows.O_APPEND != 0 {
+ access &^= windows.GENERIC_WRITE
+ access |= windows.FILE_APPEND_DATA
+ }
+ sharemode := uint32(windows.FILE_SHARE_READ | windows.FILE_SHARE_WRITE)
+ var sa *syscall.SecurityAttributes
+ if mode&windows.O_CLOEXEC == 0 {
+ sa = makeInheritSa()
+ }
+ var createmode uint32
+ switch {
+ case mode&(windows.O_CREAT|windows.O_EXCL) == (windows.O_CREAT | windows.O_EXCL):
+ createmode = windows.CREATE_NEW
+ case mode&(windows.O_CREAT|windows.O_TRUNC) == (windows.O_CREAT | windows.O_TRUNC):
+ createmode = windows.CREATE_ALWAYS
+ case mode&windows.O_CREAT == windows.O_CREAT:
+ createmode = windows.OPEN_ALWAYS
+ case mode&windows.O_TRUNC == windows.O_TRUNC:
+ createmode = windows.TRUNCATE_EXISTING
+ default:
+ createmode = windows.OPEN_EXISTING
+ }
+
+ var h syscall.Handle
+ var e error
+
+ if setToTempAndDelete {
+ h, e = syscall.CreateFile(pathp, access, sharemode, sa, createmode, (windows.FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE), 0)
+ } else {
+ h, e = syscall.CreateFile(pathp, access, sharemode, sa, createmode, windows.FILE_ATTRIBUTE_NORMAL, 0)
+ }
+ return h, e
+}
diff --git a/weed/os_overloads/types_windows.go b/weed/os_overloads/types_windows.go
new file mode 100644
index 000000000..254ba3002
--- /dev/null
+++ b/weed/os_overloads/types_windows.go
@@ -0,0 +1,9 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package os_overloads
+
+const (
+ FILE_FLAG_DELETE_ON_CLOSE = 0x04000000
+)
diff --git a/weed/pb/filer_pb/filer_pb_helper.go b/weed/pb/filer_pb/filer_pb_helper.go
index 5c40332e6..86e9f719e 100644
--- a/weed/pb/filer_pb/filer_pb_helper.go
+++ b/weed/pb/filer_pb/filer_pb_helper.go
@@ -1,7 +1,7 @@
package filer_pb
import (
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func toFileIdObject(fileIdStr string) (*FileId, error) {
diff --git a/weed/pb/master.proto b/weed/pb/master.proto
index 9cf46ab92..2bc05e2f0 100644
--- a/weed/pb/master.proto
+++ b/weed/pb/master.proto
@@ -139,6 +139,7 @@ message AssignRequest {
string data_center = 5;
string rack = 6;
string data_node = 7;
+ bool in_memory = 8;
}
message AssignResponse {
string fid = 1;
diff --git a/weed/pb/master_pb/master.pb.go b/weed/pb/master_pb/master.pb.go
index f2d9420f0..ed7ef8082 100644
--- a/weed/pb/master_pb/master.pb.go
+++ b/weed/pb/master_pb/master.pb.go
@@ -44,12 +44,15 @@ It has these top-level messages:
*/
package master_pb
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
import (
+ fmt "fmt"
+
+ proto "github.com/golang/protobuf/proto"
+
+ math "math"
+
context "golang.org/x/net/context"
+
grpc "google.golang.org/grpc"
)
@@ -655,6 +658,7 @@ type AssignRequest struct {
DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
Rack string `protobuf:"bytes,6,opt,name=rack" json:"rack,omitempty"`
DataNode string `protobuf:"bytes,7,opt,name=data_node,json=dataNode" json:"data_node,omitempty"`
+ InMemory bool `protobuf:"bytes,4,opt,name=inmemory" json:"inmemory,omitempty"`
}
func (m *AssignRequest) Reset() { *m = AssignRequest{} }
@@ -711,6 +715,13 @@ func (m *AssignRequest) GetDataNode() string {
return ""
}
+func (m *AssignRequest) GetInMemory() bool {
+ if m != nil {
+ return m.InMemory
+ }
+ return false
+}
+
type AssignResponse struct {
Fid string `protobuf:"bytes,1,opt,name=fid" json:"fid,omitempty"`
Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
diff --git a/weed/pb/volume_server.proto b/weed/pb/volume_server.proto
index 4004875ed..bee054cd5 100644
--- a/weed/pb/volume_server.proto
+++ b/weed/pb/volume_server.proto
@@ -127,6 +127,7 @@ message AllocateVolumeRequest {
int64 preallocate = 3;
string replication = 4;
string ttl = 5;
+ bool inmemory = 6;
}
message AllocateVolumeResponse {
}
diff --git a/weed/pb/volume_server_pb/volume_server.pb.go b/weed/pb/volume_server_pb/volume_server.pb.go
index 13d14b1e5..897ad7fbb 100644
--- a/weed/pb/volume_server_pb/volume_server.pb.go
+++ b/weed/pb/volume_server_pb/volume_server.pb.go
@@ -68,12 +68,15 @@ It has these top-level messages:
*/
package volume_server_pb
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
import (
+ fmt "fmt"
+
+ proto "github.com/golang/protobuf/proto"
+
+ math "math"
+
context "golang.org/x/net/context"
+
grpc "google.golang.org/grpc"
)
@@ -318,6 +321,7 @@ type AllocateVolumeRequest struct {
Preallocate int64 `protobuf:"varint,3,opt,name=preallocate" json:"preallocate,omitempty"`
Replication string `protobuf:"bytes,4,opt,name=replication" json:"replication,omitempty"`
Ttl string `protobuf:"bytes,5,opt,name=ttl" json:"ttl,omitempty"`
+ InMemory bool `protobuf:"varint,6,opt,name=inmemory" json:"inmemory,omitempty"`
}
func (m *AllocateVolumeRequest) Reset() { *m = AllocateVolumeRequest{} }
@@ -360,6 +364,13 @@ func (m *AllocateVolumeRequest) GetTtl() string {
return ""
}
+func (m *AllocateVolumeRequest) GetInMemory() bool {
+ if m != nil {
+ return m.InMemory
+ }
+ return false
+}
+
type AllocateVolumeResponse struct {
}
diff --git a/weed/replication/replicator.go b/weed/replication/replicator.go
index 7353cdc91..1b868defc 100644
--- a/weed/replication/replicator.go
+++ b/weed/replication/replicator.go
@@ -6,11 +6,11 @@ import (
"path/filepath"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/replication/sink"
- "github.com/chrislusf/seaweedfs/weed/replication/source"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/replication/sink"
+ "github.com/joeslay/seaweedfs/weed/replication/source"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type Replicator struct {
diff --git a/weed/replication/sink/azuresink/azure_sink.go b/weed/replication/sink/azuresink/azure_sink.go
index 6381908a1..c64d3c4f1 100644
--- a/weed/replication/sink/azuresink/azure_sink.go
+++ b/weed/replication/sink/azuresink/azure_sink.go
@@ -8,12 +8,12 @@ import (
"strings"
"github.com/Azure/azure-storage-blob-go/azblob"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/replication/sink"
- "github.com/chrislusf/seaweedfs/weed/replication/source"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/replication/sink"
+ "github.com/joeslay/seaweedfs/weed/replication/source"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type AzureSink struct {
diff --git a/weed/replication/sink/b2sink/b2_sink.go b/weed/replication/sink/b2sink/b2_sink.go
index 35c2230fa..14cc0b12f 100644
--- a/weed/replication/sink/b2sink/b2_sink.go
+++ b/weed/replication/sink/b2sink/b2_sink.go
@@ -4,11 +4,11 @@ import (
"context"
"strings"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/replication/sink"
- "github.com/chrislusf/seaweedfs/weed/replication/source"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/replication/sink"
+ "github.com/joeslay/seaweedfs/weed/replication/source"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/kurin/blazer/b2"
)
diff --git a/weed/replication/sink/filersink/fetch_write.go b/weed/replication/sink/filersink/fetch_write.go
index 97e9671a3..c167707c0 100644
--- a/weed/replication/sink/filersink/fetch_write.go
+++ b/weed/replication/sink/filersink/fetch_write.go
@@ -7,11 +7,11 @@ import (
"strings"
"sync"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (fs *FilerSink) replicateChunks(ctx context.Context, sourceChunks []*filer_pb.FileChunk) (replicatedChunks []*filer_pb.FileChunk, err error) {
diff --git a/weed/replication/sink/filersink/filer_sink.go b/weed/replication/sink/filersink/filer_sink.go
index f99c7fdf6..ce88ba63a 100644
--- a/weed/replication/sink/filersink/filer_sink.go
+++ b/weed/replication/sink/filersink/filer_sink.go
@@ -3,16 +3,16 @@ package filersink
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/replication/sink"
- "github.com/chrislusf/seaweedfs/weed/replication/source"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/replication/sink"
+ "github.com/joeslay/seaweedfs/weed/replication/source"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type FilerSink struct {
diff --git a/weed/replication/sink/gcssink/gcs_sink.go b/weed/replication/sink/gcssink/gcs_sink.go
index abd7c49b9..48bdea3a9 100644
--- a/weed/replication/sink/gcssink/gcs_sink.go
+++ b/weed/replication/sink/gcssink/gcs_sink.go
@@ -6,12 +6,12 @@ import (
"os"
"cloud.google.com/go/storage"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/replication/sink"
- "github.com/chrislusf/seaweedfs/weed/replication/source"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/replication/sink"
+ "github.com/joeslay/seaweedfs/weed/replication/source"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/api/option"
)
diff --git a/weed/replication/sink/replication_sink.go b/weed/replication/sink/replication_sink.go
index dd54f0005..fcf604c79 100644
--- a/weed/replication/sink/replication_sink.go
+++ b/weed/replication/sink/replication_sink.go
@@ -2,9 +2,9 @@ package sink
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/replication/source"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/replication/source"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type ReplicationSink interface {
diff --git a/weed/replication/sink/s3sink/s3_sink.go b/weed/replication/sink/s3sink/s3_sink.go
index d5cad3541..80a898239 100644
--- a/weed/replication/sink/s3sink/s3_sink.go
+++ b/weed/replication/sink/s3sink/s3_sink.go
@@ -11,12 +11,12 @@ import (
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
"github.com/aws/aws-sdk-go/service/s3/s3iface"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/replication/sink"
- "github.com/chrislusf/seaweedfs/weed/replication/source"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/replication/sink"
+ "github.com/joeslay/seaweedfs/weed/replication/source"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type S3Sink struct {
diff --git a/weed/replication/sink/s3sink/s3_write.go b/weed/replication/sink/s3sink/s3_write.go
index 0a190b27d..80a54d1e8 100644
--- a/weed/replication/sink/s3sink/s3_write.go
+++ b/weed/replication/sink/s3sink/s3_write.go
@@ -9,10 +9,10 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/service/s3"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (s3sink *S3Sink) deleteObject(key string) error {
diff --git a/weed/replication/source/filer_source.go b/weed/replication/source/filer_source.go
index d7b5ebc4d..27729acaf 100644
--- a/weed/replication/source/filer_source.go
+++ b/weed/replication/source/filer_source.go
@@ -3,16 +3,16 @@ package source
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
"google.golang.org/grpc"
"io"
"net/http"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type ReplicationSource interface {
diff --git a/weed/replication/sub/notification_aws_sqs.go b/weed/replication/sub/notification_aws_sqs.go
index f0100f4de..5f5d79de9 100644
--- a/weed/replication/sub/notification_aws_sqs.go
+++ b/weed/replication/sub/notification_aws_sqs.go
@@ -8,9 +8,9 @@ import (
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/sqs"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/replication/sub/notification_gocdk_pub_sub.go b/weed/replication/sub/notification_gocdk_pub_sub.go
index eddba9ff8..96516ea71 100644
--- a/weed/replication/sub/notification_gocdk_pub_sub.go
+++ b/weed/replication/sub/notification_gocdk_pub_sub.go
@@ -3,9 +3,9 @@ package sub
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
"gocloud.dev/pubsub"
_ "gocloud.dev/pubsub/awssnssqs"
diff --git a/weed/replication/sub/notification_google_pub_sub.go b/weed/replication/sub/notification_google_pub_sub.go
index ad6b42a2e..a3d9f43f0 100644
--- a/weed/replication/sub/notification_google_pub_sub.go
+++ b/weed/replication/sub/notification_google_pub_sub.go
@@ -6,9 +6,9 @@ import (
"os"
"cloud.google.com/go/pubsub"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
"google.golang.org/api/option"
)
diff --git a/weed/replication/sub/notification_kafka.go b/weed/replication/sub/notification_kafka.go
index 1a86a8307..dbf1fd130 100644
--- a/weed/replication/sub/notification_kafka.go
+++ b/weed/replication/sub/notification_kafka.go
@@ -8,9 +8,9 @@ import (
"time"
"github.com/Shopify/sarama"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/replication/sub/notifications.go b/weed/replication/sub/notifications.go
index 66fbef824..106812b37 100644
--- a/weed/replication/sub/notifications.go
+++ b/weed/replication/sub/notifications.go
@@ -1,8 +1,8 @@
package sub
import (
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type NotificationInput interface {
diff --git a/weed/s3api/filer_multipart.go b/weed/s3api/filer_multipart.go
index c8fe05645..af665e9c5 100644
--- a/weed/s3api/filer_multipart.go
+++ b/weed/s3api/filer_multipart.go
@@ -11,9 +11,9 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/s3"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/satori/go.uuid"
)
diff --git a/weed/s3api/filer_util.go b/weed/s3api/filer_util.go
index 1c3814fce..3178d37cc 100644
--- a/weed/s3api/filer_util.go
+++ b/weed/s3api/filer_util.go
@@ -7,8 +7,8 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
func (s3a *S3ApiServer) mkdir(ctx context.Context, parentDirectoryPath string, dirName string, fn func(entry *filer_pb.Entry)) error {
diff --git a/weed/s3api/s3api_bucket_handlers.go b/weed/s3api/s3api_bucket_handlers.go
index 492d94616..6951a41dc 100644
--- a/weed/s3api/s3api_bucket_handlers.go
+++ b/weed/s3api/s3api_bucket_handlers.go
@@ -11,8 +11,8 @@ import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/s3"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/gorilla/mux"
)
diff --git a/weed/s3api/s3api_handlers.go b/weed/s3api/s3api_handlers.go
index 127be07e3..470022711 100644
--- a/weed/s3api/s3api_handlers.go
+++ b/weed/s3api/s3api_handlers.go
@@ -6,9 +6,9 @@ import (
"encoding/base64"
"encoding/xml"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc"
"net/http"
"net/url"
diff --git a/weed/s3api/s3api_object_handlers.go b/weed/s3api/s3api_object_handlers.go
index 44e93d297..bd780da31 100644
--- a/weed/s3api/s3api_object_handlers.go
+++ b/weed/s3api/s3api_object_handlers.go
@@ -9,8 +9,8 @@ import (
"net/http"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/server"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/server"
"github.com/gorilla/mux"
)
diff --git a/weed/s3api/s3api_objects_list_handlers.go b/weed/s3api/s3api_objects_list_handlers.go
index 4053913fb..156968194 100644
--- a/weed/s3api/s3api_objects_list_handlers.go
+++ b/weed/s3api/s3api_objects_list_handlers.go
@@ -10,9 +10,9 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"github.com/gorilla/mux"
)
diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go
index 24458592d..69d3ae2c2 100644
--- a/weed/s3api/s3api_server.go
+++ b/weed/s3api/s3api_server.go
@@ -1,12 +1,12 @@
package s3api
import (
- _ "github.com/chrislusf/seaweedfs/weed/filer2/cassandra"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/leveldb"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/memdb"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/mysql"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/postgres"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/redis"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/cassandra"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/leveldb"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/memdb"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/mysql"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/postgres"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/redis"
"github.com/gorilla/mux"
"google.golang.org/grpc"
"net/http"
diff --git a/weed/security/guard.go b/weed/security/guard.go
index 17fe2ea9e..c53b5648e 100644
--- a/weed/security/guard.go
+++ b/weed/security/guard.go
@@ -7,7 +7,7 @@ import (
"net/http"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
var (
diff --git a/weed/security/jwt.go b/weed/security/jwt.go
index 0bd7fa974..b8933a08c 100644
--- a/weed/security/jwt.go
+++ b/weed/security/jwt.go
@@ -6,7 +6,7 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
jwt "github.com/dgrijalva/jwt-go"
)
diff --git a/weed/security/tls.go b/weed/security/tls.go
index e81ba4831..4c26d1b85 100644
--- a/weed/security/tls.go
+++ b/weed/security/tls.go
@@ -6,7 +6,7 @@ import (
"github.com/spf13/viper"
"io/ioutil"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
)
diff --git a/weed/server/common.go b/weed/server/common.go
index d50c283f2..d0da54bac 100644
--- a/weed/server/common.go
+++ b/weed/server/common.go
@@ -11,15 +11,15 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
- _ "github.com/chrislusf/seaweedfs/weed/statik"
+ _ "github.com/joeslay/seaweedfs/weed/statik"
"github.com/gorilla/mux"
statik "github.com/rakyll/statik/fs"
)
diff --git a/weed/server/filer_grpc_server.go b/weed/server/filer_grpc_server.go
index ad4c5e78f..f56f99459 100644
--- a/weed/server/filer_grpc_server.go
+++ b/weed/server/filer_grpc_server.go
@@ -9,11 +9,11 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
)
func (fs *FilerServer) LookupDirectoryEntry(ctx context.Context, req *filer_pb.LookupDirectoryEntryRequest) (*filer_pb.LookupDirectoryEntryResponse, error) {
diff --git a/weed/server/filer_grpc_server_rename.go b/weed/server/filer_grpc_server_rename.go
index 34fb06018..556e53fd3 100644
--- a/weed/server/filer_grpc_server_rename.go
+++ b/weed/server/filer_grpc_server_rename.go
@@ -3,9 +3,9 @@ package weed_server
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"path/filepath"
)
diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go
index f2dec9346..2cce03cee 100644
--- a/weed/server/filer_server.go
+++ b/weed/server/filer_server.go
@@ -7,29 +7,29 @@ import (
"os"
"time"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/cassandra"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/etcd"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/leveldb"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/leveldb2"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/memdb"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/mysql"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/postgres"
- _ "github.com/chrislusf/seaweedfs/weed/filer2/redis"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/notification"
- _ "github.com/chrislusf/seaweedfs/weed/notification/aws_sqs"
- _ "github.com/chrislusf/seaweedfs/weed/notification/gocdk_pub_sub"
- _ "github.com/chrislusf/seaweedfs/weed/notification/google_pub_sub"
- _ "github.com/chrislusf/seaweedfs/weed/notification/kafka"
- _ "github.com/chrislusf/seaweedfs/weed/notification/log"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/cassandra"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/etcd"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/leveldb"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/leveldb2"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/memdb"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/mysql"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/postgres"
+ _ "github.com/joeslay/seaweedfs/weed/filer2/redis"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ _ "github.com/joeslay/seaweedfs/weed/notification/aws_sqs"
+ _ "github.com/joeslay/seaweedfs/weed/notification/gocdk_pub_sub"
+ _ "github.com/joeslay/seaweedfs/weed/notification/google_pub_sub"
+ _ "github.com/joeslay/seaweedfs/weed/notification/kafka"
+ _ "github.com/joeslay/seaweedfs/weed/notification/log"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
)
diff --git a/weed/server/filer_server_handlers.go b/weed/server/filer_server_handlers.go
index b6bfc3b04..1b3547109 100644
--- a/weed/server/filer_server_handlers.go
+++ b/weed/server/filer_server_handlers.go
@@ -4,7 +4,7 @@ import (
"net/http"
"time"
- "github.com/chrislusf/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/stats"
)
func (fs *FilerServer) filerHandler(w http.ResponseWriter, r *http.Request) {
diff --git a/weed/server/filer_server_handlers_read.go b/weed/server/filer_server_handlers_read.go
index 0edf501a8..6e221575f 100644
--- a/weed/server/filer_server_handlers_read.go
+++ b/weed/server/filer_server_handlers_read.go
@@ -12,10 +12,10 @@ import (
"strconv"
"strings"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request, isGetMethod bool) {
diff --git a/weed/server/filer_server_handlers_read_dir.go b/weed/server/filer_server_handlers_read_dir.go
index 87e864559..a1a934a57 100644
--- a/weed/server/filer_server_handlers_read_dir.go
+++ b/weed/server/filer_server_handlers_read_dir.go
@@ -6,10 +6,10 @@ import (
"strconv"
"strings"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- ui "github.com/chrislusf/seaweedfs/weed/server/filer_ui"
- "github.com/chrislusf/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ ui "github.com/joeslay/seaweedfs/weed/server/filer_ui"
+ "github.com/joeslay/seaweedfs/weed/stats"
)
// listDirectoryHandler lists directories and folers under a directory
diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go
index 0bf1218ce..e91840a74 100644
--- a/weed/server/filer_server_handlers_write.go
+++ b/weed/server/filer_server_handlers_write.go
@@ -16,13 +16,13 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var (
diff --git a/weed/server/filer_server_handlers_write_autochunk.go b/weed/server/filer_server_handlers_write_autochunk.go
index 492b55943..d89716f0e 100644
--- a/weed/server/filer_server_handlers_write_autochunk.go
+++ b/weed/server/filer_server_handlers_write_autochunk.go
@@ -11,13 +11,13 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (fs *FilerServer) autoChunk(ctx context.Context, w http.ResponseWriter, r *http.Request,
diff --git a/weed/server/master_grpc_server.go b/weed/server/master_grpc_server.go
index 6fa509e77..899d6d5f3 100644
--- a/weed/server/master_grpc_server.go
+++ b/weed/server/master_grpc_server.go
@@ -7,10 +7,10 @@ import (
"time"
"github.com/chrislusf/raft"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/topology"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/topology"
"google.golang.org/grpc/peer"
)
diff --git a/weed/server/master_grpc_server_collection.go b/weed/server/master_grpc_server_collection.go
index a50cfa192..278acfe59 100644
--- a/weed/server/master_grpc_server_collection.go
+++ b/weed/server/master_grpc_server_collection.go
@@ -4,9 +4,9 @@ import (
"context"
"github.com/chrislusf/raft"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
)
func (ms *MasterServer) CollectionList(ctx context.Context, req *master_pb.CollectionListRequest) (*master_pb.CollectionListResponse, error) {
diff --git a/weed/server/master_grpc_server_volume.go b/weed/server/master_grpc_server_volume.go
index 19064bcde..286ca355c 100644
--- a/weed/server/master_grpc_server_volume.go
+++ b/weed/server/master_grpc_server_volume.go
@@ -5,11 +5,11 @@ import (
"fmt"
"github.com/chrislusf/raft"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/topology"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/topology"
)
func (ms *MasterServer) LookupVolume(ctx context.Context, req *master_pb.LookupVolumeRequest) (*master_pb.LookupVolumeResponse, error) {
diff --git a/weed/server/master_server.go b/weed/server/master_server.go
index e9eb32cca..c928a5357 100644
--- a/weed/server/master_server.go
+++ b/weed/server/master_server.go
@@ -3,8 +3,8 @@ package weed_server
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/shell"
- "github.com/chrislusf/seaweedfs/weed/wdclient"
+ "github.com/joeslay/seaweedfs/weed/shell"
+ "github.com/joeslay/seaweedfs/weed/wdclient"
"google.golang.org/grpc"
"net/http"
"net/http/httputil"
@@ -17,12 +17,12 @@ import (
"time"
"github.com/chrislusf/raft"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/sequence"
- "github.com/chrislusf/seaweedfs/weed/topology"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/sequence"
+ "github.com/joeslay/seaweedfs/weed/topology"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/gorilla/mux"
"github.com/spf13/viper"
)
diff --git a/weed/server/master_server_handlers.go b/weed/server/master_server_handlers.go
index 93f983375..fd60e9615 100644
--- a/weed/server/master_server_handlers.go
+++ b/weed/server/master_server_handlers.go
@@ -6,10 +6,10 @@ import (
"strconv"
"strings"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (ms *MasterServer) lookupVolumeId(vids []string, collection string) (volumeLocations map[string]operation.LookupResult) {
diff --git a/weed/server/master_server_handlers_admin.go b/weed/server/master_server_handlers_admin.go
index 6b5da1132..4bcff0822 100644
--- a/weed/server/master_server_handlers_admin.go
+++ b/weed/server/master_server_handlers_admin.go
@@ -8,13 +8,13 @@ import (
"net/http"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/topology"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/topology"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (ms *MasterServer) collectionDeleteHandler(w http.ResponseWriter, r *http.Request) {
diff --git a/weed/server/master_server_handlers_ui.go b/weed/server/master_server_handlers_ui.go
index f241df87f..0c40f6e14 100644
--- a/weed/server/master_server_handlers_ui.go
+++ b/weed/server/master_server_handlers_ui.go
@@ -4,9 +4,9 @@ import (
"net/http"
"github.com/chrislusf/raft"
- ui "github.com/chrislusf/seaweedfs/weed/server/master_ui"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ ui "github.com/joeslay/seaweedfs/weed/server/master_ui"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (ms *MasterServer) uiStatusHandler(w http.ResponseWriter, r *http.Request) {
diff --git a/weed/server/raft_server.go b/weed/server/raft_server.go
index 88320ed98..0f10fcc55 100644
--- a/weed/server/raft_server.go
+++ b/weed/server/raft_server.go
@@ -2,7 +2,7 @@ package weed_server
import (
"encoding/json"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc"
"io/ioutil"
"os"
@@ -12,8 +12,8 @@ import (
"time"
"github.com/chrislusf/raft"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/topology"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/topology"
)
type RaftServer struct {
diff --git a/weed/server/volume_grpc_admin.go b/weed/server/volume_grpc_admin.go
index 35c2508a6..f52f9fd2d 100644
--- a/weed/server/volume_grpc_admin.go
+++ b/weed/server/volume_grpc_admin.go
@@ -3,9 +3,9 @@ package weed_server
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (vs *VolumeServer) DeleteCollection(ctx context.Context, req *volume_server_pb.DeleteCollectionRequest) (*volume_server_pb.DeleteCollectionResponse, error) {
@@ -35,6 +35,7 @@ func (vs *VolumeServer) AllocateVolume(ctx context.Context, req *volume_server_p
req.Replication,
req.Ttl,
req.Preallocate,
+ req.InMemory,
)
if err != nil {
diff --git a/weed/server/volume_grpc_batch_delete.go b/weed/server/volume_grpc_batch_delete.go
index fdb7937d2..35c7dd9d6 100644
--- a/weed/server/volume_grpc_batch_delete.go
+++ b/weed/server/volume_grpc_batch_delete.go
@@ -5,9 +5,9 @@ import (
"net/http"
"time"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (vs *VolumeServer) BatchDelete(ctx context.Context, req *volume_server_pb.BatchDeleteRequest) (*volume_server_pb.BatchDeleteResponse, error) {
diff --git a/weed/server/volume_grpc_client_to_master.go b/weed/server/volume_grpc_client_to_master.go
index 731675b48..1f25502cd 100644
--- a/weed/server/volume_grpc_client_to_master.go
+++ b/weed/server/volume_grpc_client_to_master.go
@@ -5,14 +5,14 @@ import (
"net"
"time"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
"github.com/spf13/viper"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"golang.org/x/net/context"
)
diff --git a/weed/server/volume_grpc_copy.go b/weed/server/volume_grpc_copy.go
index 8b39146ee..c836b05f0 100644
--- a/weed/server/volume_grpc_copy.go
+++ b/weed/server/volume_grpc_copy.go
@@ -9,13 +9,13 @@ import (
"path"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
)
const BufferSizeLimit = 1024 * 1024 * 2
diff --git a/weed/server/volume_grpc_copy_incremental.go b/weed/server/volume_grpc_copy_incremental.go
index f56fbeef4..eb3398322 100644
--- a/weed/server/volume_grpc_copy_incremental.go
+++ b/weed/server/volume_grpc_copy_incremental.go
@@ -6,8 +6,8 @@ import (
"io"
"os"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (vs *VolumeServer) VolumeIncrementalCopy(req *volume_server_pb.VolumeIncrementalCopyRequest, stream volume_server_pb.VolumeServer_VolumeIncrementalCopyServer) error {
diff --git a/weed/server/volume_grpc_erasure_coding.go b/weed/server/volume_grpc_erasure_coding.go
index 8140a06f6..65e59c683 100644
--- a/weed/server/volume_grpc_erasure_coding.go
+++ b/weed/server/volume_grpc_erasure_coding.go
@@ -10,14 +10,14 @@ import (
"path"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
/*
diff --git a/weed/server/volume_grpc_tail.go b/weed/server/volume_grpc_tail.go
index 34c55a599..6803d5444 100644
--- a/weed/server/volume_grpc_tail.go
+++ b/weed/server/volume_grpc_tail.go
@@ -5,11 +5,11 @@ import (
"fmt"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (vs *VolumeServer) VolumeTailSender(req *volume_server_pb.VolumeTailSenderRequest, stream volume_server_pb.VolumeServer_VolumeTailSenderServer) error {
diff --git a/weed/server/volume_grpc_vacuum.go b/weed/server/volume_grpc_vacuum.go
index 24f982241..205843496 100644
--- a/weed/server/volume_grpc_vacuum.go
+++ b/weed/server/volume_grpc_vacuum.go
@@ -3,9 +3,9 @@ package weed_server
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (vs *VolumeServer) VacuumVolumeCheck(ctx context.Context, req *volume_server_pb.VacuumVolumeCheckRequest) (*volume_server_pb.VacuumVolumeCheckResponse, error) {
diff --git a/weed/server/volume_server.go b/weed/server/volume_server.go
index 6cf654738..144fba8ac 100644
--- a/weed/server/volume_server.go
+++ b/weed/server/volume_server.go
@@ -4,12 +4,12 @@ import (
"fmt"
"net/http"
- "github.com/chrislusf/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/stats"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/storage"
"github.com/spf13/viper"
)
diff --git a/weed/server/volume_server_handlers.go b/weed/server/volume_server_handlers.go
index 14ad27d42..a3eb910eb 100644
--- a/weed/server/volume_server_handlers.go
+++ b/weed/server/volume_server_handlers.go
@@ -4,9 +4,9 @@ import (
"net/http"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/stats"
)
/*
diff --git a/weed/server/volume_server_handlers_admin.go b/weed/server/volume_server_handlers_admin.go
index 25b6582f7..221bb1527 100644
--- a/weed/server/volume_server_handlers_admin.go
+++ b/weed/server/volume_server_handlers_admin.go
@@ -4,9 +4,9 @@ import (
"net/http"
"path/filepath"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) {
diff --git a/weed/server/volume_server_handlers_read.go b/weed/server/volume_server_handlers_read.go
index f30ffefaf..89f9bd9d3 100644
--- a/weed/server/volume_server_handlers_read.go
+++ b/weed/server/volume_server_handlers_read.go
@@ -16,12 +16,12 @@ import (
"encoding/json"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/images"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/images"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var fileNameEscaper = strings.NewReplacer("\\", "\\\\", "\"", "\\\"")
diff --git a/weed/server/volume_server_handlers_ui.go b/weed/server/volume_server_handlers_ui.go
index 852f0b751..7fc70d8af 100644
--- a/weed/server/volume_server_handlers_ui.go
+++ b/weed/server/volume_server_handlers_ui.go
@@ -5,10 +5,10 @@ import (
"path/filepath"
"time"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- ui "github.com/chrislusf/seaweedfs/weed/server/volume_server_ui"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ ui "github.com/joeslay/seaweedfs/weed/server/volume_server_ui"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (vs *VolumeServer) uiStatusHandler(w http.ResponseWriter, r *http.Request) {
diff --git a/weed/server/volume_server_handlers_write.go b/weed/server/volume_server_handlers_write.go
index db8fcb555..d0b177c72 100644
--- a/weed/server/volume_server_handlers_write.go
+++ b/weed/server/volume_server_handlers_write.go
@@ -9,11 +9,11 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/topology"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/topology"
)
func (vs *VolumeServer) PostHandler(w http.ResponseWriter, r *http.Request) {
diff --git a/weed/server/webdav_server.go b/weed/server/webdav_server.go
index 151b48a78..7eed37485 100644
--- a/weed/server/webdav_server.go
+++ b/weed/server/webdav_server.go
@@ -10,15 +10,15 @@ import (
"strings"
"time"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"golang.org/x/net/webdav"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/security"
"github.com/spf13/viper"
)
diff --git a/weed/shell/command_collection_delete.go b/weed/shell/command_collection_delete.go
index fbaddcd51..d18161376 100644
--- a/weed/shell/command_collection_delete.go
+++ b/weed/shell/command_collection_delete.go
@@ -3,7 +3,7 @@ package shell
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
"io"
)
diff --git a/weed/shell/command_collection_list.go b/weed/shell/command_collection_list.go
index c4325c66f..9607c9999 100644
--- a/weed/shell/command_collection_list.go
+++ b/weed/shell/command_collection_list.go
@@ -3,7 +3,7 @@ package shell
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
"io"
)
diff --git a/weed/shell/command_ec_balance.go b/weed/shell/command_ec_balance.go
index 47ae7bad3..0ff2e3963 100644
--- a/weed/shell/command_ec_balance.go
+++ b/weed/shell/command_ec_balance.go
@@ -7,8 +7,8 @@ import (
"io"
"sort"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func init() {
diff --git a/weed/shell/command_ec_common.go b/weed/shell/command_ec_common.go
index d0fe16a68..c75e14feb 100644
--- a/weed/shell/command_ec_common.go
+++ b/weed/shell/command_ec_common.go
@@ -6,12 +6,12 @@ import (
"math"
"sort"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
)
diff --git a/weed/shell/command_ec_encode.go b/weed/shell/command_ec_encode.go
index f07cb93f9..0dd3e0ea2 100644
--- a/weed/shell/command_ec_encode.go
+++ b/weed/shell/command_ec_encode.go
@@ -8,12 +8,12 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/wdclient"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/wdclient"
"google.golang.org/grpc"
)
diff --git a/weed/shell/command_ec_rebuild.go b/weed/shell/command_ec_rebuild.go
index 63b7c4088..56bcd77bb 100644
--- a/weed/shell/command_ec_rebuild.go
+++ b/weed/shell/command_ec_rebuild.go
@@ -6,10 +6,10 @@ import (
"fmt"
"io"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
)
diff --git a/weed/shell/command_ec_test.go b/weed/shell/command_ec_test.go
index 9e578ed28..d1a784821 100644
--- a/weed/shell/command_ec_test.go
+++ b/weed/shell/command_ec_test.go
@@ -4,8 +4,8 @@ import (
"context"
"testing"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func TestCommandEcBalanceSmall(t *testing.T) {
diff --git a/weed/shell/command_fs_cat.go b/weed/shell/command_fs_cat.go
index 66ced46c5..fdeda17de 100644
--- a/weed/shell/command_fs_cat.go
+++ b/weed/shell/command_fs_cat.go
@@ -6,8 +6,8 @@ import (
"io"
"math"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
func init() {
diff --git a/weed/shell/command_fs_du.go b/weed/shell/command_fs_du.go
index 5e634c82a..678e05eeb 100644
--- a/weed/shell/command_fs_du.go
+++ b/weed/shell/command_fs_du.go
@@ -3,9 +3,9 @@ package shell
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc"
"io"
)
diff --git a/weed/shell/command_fs_ls.go b/weed/shell/command_fs_ls.go
index 6979635e1..678f0b7a1 100644
--- a/weed/shell/command_fs_ls.go
+++ b/weed/shell/command_fs_ls.go
@@ -3,8 +3,8 @@ package shell
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"io"
"os"
"os/user"
diff --git a/weed/shell/command_fs_meta_load.go b/weed/shell/command_fs_meta_load.go
index 5ea8de9f5..2146755fc 100644
--- a/weed/shell/command_fs_meta_load.go
+++ b/weed/shell/command_fs_meta_load.go
@@ -6,9 +6,9 @@ import (
"io"
"os"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/shell/command_fs_meta_notify.go b/weed/shell/command_fs_meta_notify.go
index 13b272fbf..5064b0033 100644
--- a/weed/shell/command_fs_meta_notify.go
+++ b/weed/shell/command_fs_meta_notify.go
@@ -5,10 +5,10 @@ import (
"fmt"
"io"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/notification"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/notification"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/spf13/viper"
)
diff --git a/weed/shell/command_fs_meta_save.go b/weed/shell/command_fs_meta_save.go
index e710fe297..e0d24e672 100644
--- a/weed/shell/command_fs_meta_save.go
+++ b/weed/shell/command_fs_meta_save.go
@@ -8,9 +8,9 @@ import (
"os"
"time"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/golang/protobuf/proto"
)
diff --git a/weed/shell/command_fs_mv.go b/weed/shell/command_fs_mv.go
index 67606ab53..d1f04a851 100644
--- a/weed/shell/command_fs_mv.go
+++ b/weed/shell/command_fs_mv.go
@@ -6,8 +6,8 @@ import (
"io"
"path/filepath"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
)
func init() {
diff --git a/weed/shell/command_fs_tree.go b/weed/shell/command_fs_tree.go
index 8474e43ea..c75c7d11f 100644
--- a/weed/shell/command_fs_tree.go
+++ b/weed/shell/command_fs_tree.go
@@ -3,8 +3,8 @@ package shell
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
"io"
"strings"
)
diff --git a/weed/shell/command_volume_balance.go b/weed/shell/command_volume_balance.go
index d7ef0d005..b24fa43b6 100644
--- a/weed/shell/command_volume_balance.go
+++ b/weed/shell/command_volume_balance.go
@@ -9,8 +9,8 @@ import (
"sort"
"time"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func init() {
diff --git a/weed/shell/command_volume_copy.go b/weed/shell/command_volume_copy.go
index 1c83ba655..e44976f88 100644
--- a/weed/shell/command_volume_copy.go
+++ b/weed/shell/command_volume_copy.go
@@ -5,7 +5,7 @@ import (
"fmt"
"io"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func init() {
diff --git a/weed/shell/command_volume_delete.go b/weed/shell/command_volume_delete.go
index 17d27ea3a..604b7d9c1 100644
--- a/weed/shell/command_volume_delete.go
+++ b/weed/shell/command_volume_delete.go
@@ -5,7 +5,7 @@ import (
"fmt"
"io"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func init() {
diff --git a/weed/shell/command_volume_fix_replication.go b/weed/shell/command_volume_fix_replication.go
index 4c7a794c0..ced0b51f6 100644
--- a/weed/shell/command_volume_fix_replication.go
+++ b/weed/shell/command_volume_fix_replication.go
@@ -3,10 +3,10 @@ package shell
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage"
"io"
"math/rand"
"sort"
diff --git a/weed/shell/command_volume_list.go b/weed/shell/command_volume_list.go
index 134580ffe..7a1aa0d87 100644
--- a/weed/shell/command_volume_list.go
+++ b/weed/shell/command_volume_list.go
@@ -3,8 +3,8 @@ package shell
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
"io"
"sort"
diff --git a/weed/shell/command_volume_mount.go b/weed/shell/command_volume_mount.go
index 50a307492..78d3878bc 100644
--- a/weed/shell/command_volume_mount.go
+++ b/weed/shell/command_volume_mount.go
@@ -5,9 +5,9 @@ import (
"fmt"
"io"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
)
diff --git a/weed/shell/command_volume_move.go b/weed/shell/command_volume_move.go
index 08d87c988..bca3cebbb 100644
--- a/weed/shell/command_volume_move.go
+++ b/weed/shell/command_volume_move.go
@@ -7,9 +7,9 @@ import (
"log"
"time"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
)
diff --git a/weed/shell/command_volume_unmount.go b/weed/shell/command_volume_unmount.go
index 8096f34d8..f6e2efdcc 100644
--- a/weed/shell/command_volume_unmount.go
+++ b/weed/shell/command_volume_unmount.go
@@ -5,9 +5,9 @@ import (
"fmt"
"io"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
)
diff --git a/weed/shell/commands.go b/weed/shell/commands.go
index b642ec253..e361ae586 100644
--- a/weed/shell/commands.go
+++ b/weed/shell/commands.go
@@ -9,9 +9,9 @@ import (
"strconv"
"strings"
- "github.com/chrislusf/seaweedfs/weed/filer2"
- "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
- "github.com/chrislusf/seaweedfs/weed/wdclient"
+ "github.com/joeslay/seaweedfs/weed/filer2"
+ "github.com/joeslay/seaweedfs/weed/pb/filer_pb"
+ "github.com/joeslay/seaweedfs/weed/wdclient"
"google.golang.org/grpc"
)
diff --git a/weed/stats/disk.go b/weed/stats/disk.go
index e9d8baedd..22e306312 100644
--- a/weed/stats/disk.go
+++ b/weed/stats/disk.go
@@ -1,6 +1,6 @@
package stats
-import "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+import "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
func NewDiskStatus(path string) (disk *volume_server_pb.DiskStatus) {
disk = &volume_server_pb.DiskStatus{Dir: path}
diff --git a/weed/stats/disk_notsupported.go b/weed/stats/disk_notsupported.go
index ace662f6a..b2a9ce8c9 100644
--- a/weed/stats/disk_notsupported.go
+++ b/weed/stats/disk_notsupported.go
@@ -2,7 +2,7 @@
package stats
-import "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+import "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
func fillInDiskStatus(status *volume_server_pb.DiskStatus) {
return
diff --git a/weed/stats/disk_supported.go b/weed/stats/disk_supported.go
index 0537828b0..549b2275a 100644
--- a/weed/stats/disk_supported.go
+++ b/weed/stats/disk_supported.go
@@ -5,7 +5,7 @@ package stats
import (
"syscall"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
)
func fillInDiskStatus(disk *volume_server_pb.DiskStatus) {
diff --git a/weed/stats/memory.go b/weed/stats/memory.go
index c671efc4d..04531604e 100644
--- a/weed/stats/memory.go
+++ b/weed/stats/memory.go
@@ -3,7 +3,7 @@ package stats
import (
"runtime"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
)
func MemStat() *volume_server_pb.MemStatus {
diff --git a/weed/stats/memory_notsupported.go b/weed/stats/memory_notsupported.go
index 2bed95266..865b43521 100644
--- a/weed/stats/memory_notsupported.go
+++ b/weed/stats/memory_notsupported.go
@@ -2,7 +2,7 @@
package stats
-import "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+import "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
func fillInMemStatus(status *volume_server_pb.MemStatus) {
return
diff --git a/weed/stats/memory_supported.go b/weed/stats/memory_supported.go
index 91fdd005b..71ee28c12 100644
--- a/weed/stats/memory_supported.go
+++ b/weed/stats/memory_supported.go
@@ -5,7 +5,7 @@ package stats
import (
"syscall"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
)
func fillInMemStatus(mem *volume_server_pb.MemStatus) {
diff --git a/weed/stats/metrics.go b/weed/stats/metrics.go
index a9624cd86..e079614e5 100644
--- a/weed/stats/metrics.go
+++ b/weed/stats/metrics.go
@@ -5,7 +5,7 @@ import (
"os"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/push"
)
diff --git a/weed/storage/disk_location.go b/weed/storage/disk_location.go
index e61623fc7..a1104ed8e 100644
--- a/weed/storage/disk_location.go
+++ b/weed/storage/disk_location.go
@@ -8,9 +8,9 @@ import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
type DiskLocation struct {
@@ -60,7 +60,7 @@ func (l *DiskLocation) loadExistingVolume(fileInfo os.FileInfo, needleMapKind Ne
_, found := l.volumes[vid]
l.RUnlock()
if !found {
- if v, e := NewVolume(l.Directory, collection, vid, needleMapKind, nil, nil, 0); e == nil {
+ if v, e := NewVolume(l.Directory, collection, vid, needleMapKind, nil, nil, 0, false); e == nil {
l.Lock()
l.volumes[vid] = v
l.Unlock()
diff --git a/weed/storage/disk_location_ec.go b/weed/storage/disk_location_ec.go
index ba0824c6d..4e7eeedfa 100644
--- a/weed/storage/disk_location_ec.go
+++ b/weed/storage/disk_location_ec.go
@@ -8,8 +8,8 @@ import (
"sort"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
var (
diff --git a/weed/storage/erasure_coding/ec_encoder.go b/weed/storage/erasure_coding/ec_encoder.go
index 97010a1ed..7a979ecad 100644
--- a/weed/storage/erasure_coding/ec_encoder.go
+++ b/weed/storage/erasure_coding/ec_encoder.go
@@ -5,11 +5,11 @@ import (
"io"
"os"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
- "github.com/chrislusf/seaweedfs/weed/storage/needle_map"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/needle_map"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/klauspost/reedsolomon"
)
diff --git a/weed/storage/erasure_coding/ec_shard.go b/weed/storage/erasure_coding/ec_shard.go
index 47e6d3d1e..60c0a5794 100644
--- a/weed/storage/erasure_coding/ec_shard.go
+++ b/weed/storage/erasure_coding/ec_shard.go
@@ -6,8 +6,8 @@ import (
"path"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
type ShardId uint8
diff --git a/weed/storage/erasure_coding/ec_test.go b/weed/storage/erasure_coding/ec_test.go
index 57df09525..ba0a4306c 100644
--- a/weed/storage/erasure_coding/ec_test.go
+++ b/weed/storage/erasure_coding/ec_test.go
@@ -7,8 +7,8 @@ import (
"os"
"testing"
- "github.com/chrislusf/seaweedfs/weed/storage/needle_map"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/storage/needle_map"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
"github.com/klauspost/reedsolomon"
)
diff --git a/weed/storage/erasure_coding/ec_volume.go b/weed/storage/erasure_coding/ec_volume.go
index bcae164ca..00cd18e29 100644
--- a/weed/storage/erasure_coding/ec_volume.go
+++ b/weed/storage/erasure_coding/ec_volume.go
@@ -9,10 +9,10 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
var (
diff --git a/weed/storage/erasure_coding/ec_volume_delete.go b/weed/storage/erasure_coding/ec_volume_delete.go
index 04102ec9e..71c00a44c 100644
--- a/weed/storage/erasure_coding/ec_volume_delete.go
+++ b/weed/storage/erasure_coding/ec_volume_delete.go
@@ -5,8 +5,8 @@ import (
"io"
"os"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
var (
diff --git a/weed/storage/erasure_coding/ec_volume_info.go b/weed/storage/erasure_coding/ec_volume_info.go
index c9e85c662..b09b8ce92 100644
--- a/weed/storage/erasure_coding/ec_volume_info.go
+++ b/weed/storage/erasure_coding/ec_volume_info.go
@@ -1,8 +1,8 @@
package erasure_coding
import (
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
// data structure used in master
diff --git a/weed/storage/idx/walk.go b/weed/storage/idx/walk.go
index 90efb75e6..5677d5622 100644
--- a/weed/storage/idx/walk.go
+++ b/weed/storage/idx/walk.go
@@ -4,9 +4,9 @@ import (
"io"
"os"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
// walks through the index file, calls fn function with each key, offset, size
diff --git a/weed/storage/memory_map/memory_map.go b/weed/storage/memory_map/memory_map.go
new file mode 100644
index 000000000..e8d3de6e0
--- /dev/null
+++ b/weed/storage/memory_map/memory_map.go
@@ -0,0 +1,42 @@
+// +build !windows
+
+package memory_map
+
+import (
+ "fmt"
+ "os"
+)
+
+type MemoryBuffer struct {
+ aligned_length uint64
+ length uint64
+ aligned_ptr uintptr
+ ptr uintptr
+ Buffer []byte
+}
+
+type MemoryMap struct {
+ File *os.File
+ file_memory_map_handle uintptr
+ write_map_views []MemoryBuffer
+ max_length uint64
+ End_of_file int64
+}
+
+var FileMemoryMap = make(map[string]*MemoryMap)
+
+func (mMap *MemoryMap) WriteMemory(offset uint64, length uint64, data []byte) {
+
+}
+
+func (mMap *MemoryMap) ReadMemory(offset uint64, length uint64) (MemoryBuffer, error) {
+ return MemoryBuffer{}, fmt.Errorf("Memory Map not implemented for this platform")
+}
+
+func (mem_buffer *MemoryBuffer) ReleaseMemory() {
+
+}
+
+func (mMap *MemoryMap) DeleteFileAndMemoryMap() {
+
+}
diff --git a/weed/storage/memory_map/memory_map_windows.go b/weed/storage/memory_map/memory_map_windows.go
new file mode 100644
index 000000000..055aeacc5
--- /dev/null
+++ b/weed/storage/memory_map/memory_map_windows.go
@@ -0,0 +1,222 @@
+// +build windows
+
+package memory_map
+
+import (
+ "os"
+ "reflect"
+ "syscall"
+ "unsafe"
+
+ "golang.org/x/sys/windows"
+)
+
+type MemoryBuffer struct {
+ aligned_length uint64
+ length uint64
+ aligned_ptr uintptr
+ ptr uintptr
+ Buffer []byte
+}
+
+type MemoryMap struct {
+ File *os.File
+ file_memory_map_handle uintptr
+ write_map_views []MemoryBuffer
+ max_length uint64
+ End_of_file int64
+}
+
+var FileMemoryMap = make(map[string]*MemoryMap)
+
+type DWORD = uint32
+type WORD = uint16
+
+var (
+ procGetSystemInfo = syscall.NewLazyDLL("kernel32.dll").NewProc("GetSystemInfo")
+)
+
+var system_info, err = getSystemInfo()
+
+var chunk_size = uint64(system_info.dwAllocationGranularity) * 512
+
+func (mMap *MemoryMap) CreateMemoryMap(file *os.File, maxlength uint64) {
+
+ maxlength_high := uint32(maxlength >> 32)
+ maxlength_low := uint32(maxlength & 0xFFFFFFFF)
+ file_memory_map_handle, err := windows.CreateFileMapping(windows.Handle(file.Fd()), nil, windows.PAGE_READWRITE, maxlength_high, maxlength_low, nil)
+
+ if err == nil {
+ mMap.File = file
+ mMap.file_memory_map_handle = uintptr(file_memory_map_handle)
+ mMap.write_map_views = make([]MemoryBuffer, 0, maxlength/chunk_size)
+ mMap.max_length = maxlength
+ mMap.End_of_file = -1
+ }
+}
+
+func (mMap *MemoryMap) DeleteFileAndMemoryMap() {
+ windows.CloseHandle(windows.Handle(mMap.file_memory_map_handle))
+ windows.CloseHandle(windows.Handle(mMap.File.Fd()))
+
+ for _, view := range mMap.write_map_views {
+ view.ReleaseMemory()
+ }
+
+ mMap.write_map_views = nil
+ mMap.max_length = 0
+}
+
+func min(x, y uint64) uint64 {
+ if x < y {
+ return x
+ }
+ return y
+}
+
+func (mMap *MemoryMap) WriteMemory(offset uint64, length uint64, data []byte) {
+
+ for {
+ if ((offset+length)/chunk_size)+1 > uint64(len(mMap.write_map_views)) {
+ allocateChunk(mMap)
+ } else {
+ break
+ }
+ }
+
+ remaining_length := length
+ slice_index := offset / chunk_size
+ slice_offset := offset - (slice_index * chunk_size)
+ data_offset := uint64(0)
+
+ for {
+ write_end := min((remaining_length + slice_offset), chunk_size)
+ copy(mMap.write_map_views[slice_index].Buffer[slice_offset:write_end], data[data_offset:])
+ remaining_length -= (write_end - slice_offset)
+ data_offset += (write_end - slice_offset)
+
+ if remaining_length > 0 {
+ slice_index += 1
+ slice_offset = 0
+ } else {
+ break
+ }
+ }
+
+ if mMap.End_of_file < int64(offset+length-1) {
+ mMap.End_of_file = int64(offset + length - 1)
+ }
+}
+
+func (mMap *MemoryMap) ReadMemory(offset uint64, length uint64) (MemoryBuffer, error) {
+ return allocate(windows.Handle(mMap.file_memory_map_handle), offset, length, false)
+}
+
+func (mem_buffer *MemoryBuffer) ReleaseMemory() {
+ windows.UnmapViewOfFile(mem_buffer.aligned_ptr)
+
+ mem_buffer.ptr = 0
+ mem_buffer.aligned_ptr = 0
+ mem_buffer.length = 0
+ mem_buffer.aligned_length = 0
+ mem_buffer.Buffer = nil
+}
+
+func allocateChunk(mMap *MemoryMap) {
+
+ start := uint64(len(mMap.write_map_views)) * chunk_size
+ mem_buffer, err := allocate(windows.Handle(mMap.file_memory_map_handle), start, chunk_size, true)
+
+ if err == nil {
+ mMap.write_map_views = append(mMap.write_map_views, mem_buffer)
+ }
+}
+
+func allocate(hMapFile windows.Handle, offset uint64, length uint64, write bool) (MemoryBuffer, error) {
+
+ mem_buffer := MemoryBuffer{}
+
+ dwSysGran := system_info.dwAllocationGranularity
+
+ start := (offset / uint64(dwSysGran)) * uint64(dwSysGran)
+ diff := offset - start
+ aligned_length := diff + length
+
+ offset_high := uint32(start >> 32)
+ offset_low := uint32(start & 0xFFFFFFFF)
+
+ access := windows.FILE_MAP_READ
+
+ if write {
+ access = windows.FILE_MAP_WRITE
+ }
+
+ addr_ptr, errno := windows.MapViewOfFile(hMapFile,
+ uint32(access), // read/write permission
+ offset_high,
+ offset_low,
+ uintptr(aligned_length))
+
+ if addr_ptr == 0 {
+ return mem_buffer, errno
+ }
+
+ mem_buffer.aligned_ptr = addr_ptr
+ mem_buffer.aligned_length = aligned_length
+ mem_buffer.ptr = addr_ptr + uintptr(diff)
+ mem_buffer.length = length
+
+ slice_header := (*reflect.SliceHeader)(unsafe.Pointer(&mem_buffer.Buffer))
+ slice_header.Data = addr_ptr + uintptr(diff)
+ slice_header.Len = int(length)
+ slice_header.Cap = int(length)
+
+ return mem_buffer, nil
+}
+
+// typedef struct _SYSTEM_INFO {
+// union {
+// DWORD dwOemId;
+// struct {
+// WORD wProcessorArchitecture;
+// WORD wReserved;
+// };
+// };
+// DWORD dwPageSize;
+// LPVOID lpMinimumApplicationAddress;
+// LPVOID lpMaximumApplicationAddress;
+// DWORD_PTR dwActiveProcessorMask;
+// DWORD dwNumberOfProcessors;
+// DWORD dwProcessorType;
+// DWORD dwAllocationGranularity;
+// WORD wProcessorLevel;
+// WORD wProcessorRevision;
+// } SYSTEM_INFO;
+// https://msdn.microsoft.com/en-us/library/ms724958(v=vs.85).aspx
+type _SYSTEM_INFO struct {
+ dwOemId DWORD
+ dwPageSize DWORD
+ lpMinimumApplicationAddress uintptr
+ lpMaximumApplicationAddress uintptr
+ dwActiveProcessorMask uintptr
+ dwNumberOfProcessors DWORD
+ dwProcessorType DWORD
+ dwAllocationGranularity DWORD
+ wProcessorLevel WORD
+ wProcessorRevision WORD
+}
+
+// void WINAPI GetSystemInfo(
+// _Out_ LPSYSTEM_INFO lpSystemInfo
+// );
+// https://msdn.microsoft.com/en-us/library/ms724381(VS.85).aspx
+func getSystemInfo() (_SYSTEM_INFO, error) {
+ var si _SYSTEM_INFO
+ _, _, err := procGetSystemInfo.Call(
+ uintptr(unsafe.Pointer(&si)),
+ )
+ if err != syscall.Errno(0) {
+ return si, err
+ }
+ return si, nil
+}
diff --git a/weed/storage/needle/crc.go b/weed/storage/needle/crc.go
index 00ea1db69..9d3d31963 100644
--- a/weed/storage/needle/crc.go
+++ b/weed/storage/needle/crc.go
@@ -4,7 +4,7 @@ import (
"crypto/md5"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/klauspost/crc32"
)
diff --git a/weed/storage/needle/file_id.go b/weed/storage/needle/file_id.go
index 5dabb0f25..3aaba7fbf 100644
--- a/weed/storage/needle/file_id.go
+++ b/weed/storage/needle/file_id.go
@@ -5,7 +5,7 @@ import (
"fmt"
"strings"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
)
type FileId struct {
diff --git a/weed/storage/needle/file_id_test.go b/weed/storage/needle/file_id_test.go
index a1a2c61fc..f21bc5c28 100644
--- a/weed/storage/needle/file_id_test.go
+++ b/weed/storage/needle/file_id_test.go
@@ -1,7 +1,7 @@
package needle
import (
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
"testing"
)
diff --git a/weed/storage/needle/needle.go b/weed/storage/needle/needle.go
index 2f03ba87b..7c841d037 100644
--- a/weed/storage/needle/needle.go
+++ b/weed/storage/needle/needle.go
@@ -10,8 +10,8 @@ import (
"io/ioutil"
- "github.com/chrislusf/seaweedfs/weed/images"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/images"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
)
const (
diff --git a/weed/storage/needle/needle_parse_multipart.go b/weed/storage/needle/needle_parse_multipart.go
index 8be1a1da4..993ae7178 100644
--- a/weed/storage/needle/needle_parse_multipart.go
+++ b/weed/storage/needle/needle_parse_multipart.go
@@ -1,8 +1,8 @@
package needle
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/util"
"io"
"io/ioutil"
diff --git a/weed/storage/needle/needle_read_write.go b/weed/storage/needle/needle_read_write.go
index 75aefdf16..23a192543 100644
--- a/weed/storage/needle/needle_read_write.go
+++ b/weed/storage/needle/needle_read_write.go
@@ -8,9 +8,10 @@ import (
"math"
- "github.com/chrislusf/seaweedfs/weed/glog"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/memory_map"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
const (
@@ -29,39 +30,25 @@ func (n *Needle) DiskSize(version Version) int64 {
return GetActualSize(n.Size, version)
}
-func (n *Needle) Append(w *os.File, version Version) (offset uint64, size uint32, actualSize int64, err error) {
- if end, e := w.Seek(0, io.SeekEnd); e == nil {
- defer func(w *os.File, off int64) {
- if err != nil {
- if te := w.Truncate(end); te != nil {
- glog.V(0).Infof("Failed to truncate %s back to %d with error: %v", w.Name(), end, te)
- }
- }
- }(w, end)
- offset = uint64(end)
- } else {
- err = fmt.Errorf("Cannot Read Current Volume Position: %v", e)
- return
- }
+func (n *Needle) prepareWriteBuffer(version Version) ([]byte, uint32, int64, error) {
+
+ writeBytes := make([]byte, 0)
+
switch version {
case Version1:
header := make([]byte, NeedleHeaderSize)
CookieToBytes(header[0:CookieSize], n.Cookie)
NeedleIdToBytes(header[CookieSize:CookieSize+NeedleIdSize], n.Id)
n.Size = uint32(len(n.Data))
- size = n.Size
util.Uint32toBytes(header[CookieSize+NeedleIdSize:CookieSize+NeedleIdSize+SizeSize], n.Size)
- if _, err = w.Write(header); err != nil {
- return
- }
- if _, err = w.Write(n.Data); err != nil {
- return
- }
- actualSize = NeedleHeaderSize + int64(n.Size)
+ size := n.Size
+ actualSize := NeedleHeaderSize + int64(n.Size)
+ writeBytes = append(writeBytes, header...)
+ writeBytes = append(writeBytes, n.Data...)
padding := PaddingLength(n.Size, version)
util.Uint32toBytes(header[0:NeedleChecksumSize], n.Checksum.Value())
- _, err = w.Write(header[0 : NeedleChecksumSize+padding])
- return
+ writeBytes = append(writeBytes, header[0:NeedleChecksumSize+padding]...)
+ return writeBytes, size, actualSize, nil
case Version2, Version3:
header := make([]byte, NeedleHeaderSize+TimestampSize) // adding timestamp to reuse it and avoid extra allocation
CookieToBytes(header[0:CookieSize], n.Cookie)
@@ -92,82 +79,103 @@ func (n *Needle) Append(w *os.File, version Version) (offset uint64, size uint32
} else {
n.Size = 0
}
- size = n.DataSize
util.Uint32toBytes(header[CookieSize+NeedleIdSize:CookieSize+NeedleIdSize+SizeSize], n.Size)
- if _, err = w.Write(header[0:NeedleHeaderSize]); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[0:NeedleHeaderSize]...)
if n.DataSize > 0 {
util.Uint32toBytes(header[0:4], n.DataSize)
- if _, err = w.Write(header[0:4]); err != nil {
- return
- }
- if _, err = w.Write(n.Data); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[0:4]...)
+ writeBytes = append(writeBytes, n.Data...)
util.Uint8toBytes(header[0:1], n.Flags)
- if _, err = w.Write(header[0:1]); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[0:1]...)
if n.HasName() {
util.Uint8toBytes(header[0:1], n.NameSize)
- if _, err = w.Write(header[0:1]); err != nil {
- return
- }
- if _, err = w.Write(n.Name[:n.NameSize]); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[0:1]...)
+ writeBytes = append(writeBytes, n.Name[:n.NameSize]...)
}
if n.HasMime() {
util.Uint8toBytes(header[0:1], n.MimeSize)
- if _, err = w.Write(header[0:1]); err != nil {
- return
- }
- if _, err = w.Write(n.Mime); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[0:1]...)
+ writeBytes = append(writeBytes, n.Mime...)
}
if n.HasLastModifiedDate() {
util.Uint64toBytes(header[0:8], n.LastModified)
- if _, err = w.Write(header[8-LastModifiedBytesLength : 8]); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[8-LastModifiedBytesLength:8]...)
}
if n.HasTtl() && n.Ttl != nil {
n.Ttl.ToBytes(header[0:TtlBytesLength])
- if _, err = w.Write(header[0:TtlBytesLength]); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[0:TtlBytesLength]...)
}
if n.HasPairs() {
util.Uint16toBytes(header[0:2], n.PairsSize)
- if _, err = w.Write(header[0:2]); err != nil {
- return
- }
- if _, err = w.Write(n.Pairs); err != nil {
- return
- }
+ writeBytes = append(writeBytes, header[0:2]...)
+ writeBytes = append(writeBytes, n.Pairs...)
}
}
padding := PaddingLength(n.Size, version)
util.Uint32toBytes(header[0:NeedleChecksumSize], n.Checksum.Value())
if version == Version2 {
- _, err = w.Write(header[0 : NeedleChecksumSize+padding])
+ writeBytes = append(writeBytes, header[0:NeedleChecksumSize+padding]...)
} else {
// version3
util.Uint64toBytes(header[NeedleChecksumSize:NeedleChecksumSize+TimestampSize], n.AppendAtNs)
- _, err = w.Write(header[0 : NeedleChecksumSize+TimestampSize+padding])
+ writeBytes = append(writeBytes, header[0:NeedleChecksumSize+TimestampSize+padding]...)
}
- return offset, n.DataSize, GetActualSize(n.Size, version), err
+ return writeBytes, n.DataSize, GetActualSize(n.Size, version), nil
}
- return 0, 0, 0, fmt.Errorf("Unsupported Version! (%d)", version)
+
+ return writeBytes, 0, 0, fmt.Errorf("Unsupported Version! (%d)", version)
+}
+
+func (n *Needle) Append(w *os.File, version Version) (offset uint64, size uint32, actualSize int64, err error) {
+
+ mMap, exists := memory_map.FileMemoryMap[w.Name()]
+ if !exists {
+ if end, e := w.Seek(0, io.SeekEnd); e == nil {
+ defer func(w *os.File, off int64) {
+ if err != nil {
+ if te := w.Truncate(end); te != nil {
+ glog.V(0).Infof("Failed to truncate %s back to %d with error: %v", w.Name(), end, te)
+ }
+ }
+ }(w, end)
+ offset = uint64(end)
+ } else {
+ err = fmt.Errorf("Cannot Read Current Volume Position: %v", e)
+ return
+ }
+ } else {
+ offset = uint64(mMap.End_of_file + 1)
+ }
+
+ bytesToWrite, size, actualSize, err := n.prepareWriteBuffer(version)
+
+ if err == nil {
+ if exists {
+ mMap.WriteMemory(offset, uint64(len(bytesToWrite)), bytesToWrite)
+ } else {
+ _, err = w.Write(bytesToWrite)
+ }
+ }
+
+ return offset, size, actualSize, err
}
func ReadNeedleBlob(r *os.File, offset int64, size uint32, version Version) (dataSlice []byte, err error) {
- dataSlice = make([]byte, int(GetActualSize(size, version)))
- _, err = r.ReadAt(dataSlice, offset)
- return dataSlice, err
+
+ dataSize := GetActualSize(size, version)
+ dataSlice = make([]byte, dataSize)
+
+ mMap, exists := memory_map.FileMemoryMap[r.Name()]
+ if exists {
+ mBuffer, err := mMap.ReadMemory(uint64(offset), uint64(dataSize))
+ copy(dataSlice, mBuffer.Buffer)
+ mBuffer.ReleaseMemory()
+ return dataSlice, err
+ } else {
+ _, err = r.ReadAt(dataSlice, offset)
+ return dataSlice, err
+ }
}
// ReadBytes hydrates the needle from the bytes buffer, with only n.Id is set.
@@ -280,14 +288,27 @@ func ReadNeedleHeader(r *os.File, version Version, offset int64) (n *Needle, byt
n = new(Needle)
if version == Version1 || version == Version2 || version == Version3 {
bytes = make([]byte, NeedleHeaderSize)
- var count int
- count, err = r.ReadAt(bytes, offset)
- if count <= 0 || err != nil {
- return nil, bytes, 0, err
+
+ mMap, exists := memory_map.FileMemoryMap[r.Name()]
+ if exists {
+ mem_buffer, err := mMap.ReadMemory(uint64(offset), NeedleHeaderSize)
+ copy(bytes, mem_buffer.Buffer)
+ mem_buffer.ReleaseMemory()
+
+ if err != nil {
+ return nil, bytes, 0, err
+ }
+ } else {
+ var count int
+ count, err = r.ReadAt(bytes, offset)
+ if count <= 0 || err != nil {
+ return nil, bytes, 0, err
+ }
}
n.ParseNeedleHeader(bytes)
bodyLength = NeedleBodyLength(n.Size, version)
}
+
return
}
diff --git a/weed/storage/needle/needle_read_write_test.go b/weed/storage/needle/needle_read_write_test.go
index 4c507f9e6..c63662e5f 100644
--- a/weed/storage/needle/needle_read_write_test.go
+++ b/weed/storage/needle/needle_read_write_test.go
@@ -5,7 +5,7 @@ import (
"os"
"testing"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
func TestAppend(t *testing.T) {
diff --git a/weed/storage/needle/needle_test.go b/weed/storage/needle/needle_test.go
index 0f2dde98e..a1aeddd27 100644
--- a/weed/storage/needle/needle_test.go
+++ b/weed/storage/needle/needle_test.go
@@ -3,7 +3,7 @@ package needle
import (
"testing"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
func TestParseKeyHash(t *testing.T) {
diff --git a/weed/storage/needle_map.go b/weed/storage/needle_map.go
index 876839be1..f2ff9bb76 100644
--- a/weed/storage/needle_map.go
+++ b/weed/storage/needle_map.go
@@ -6,8 +6,8 @@ import (
"os"
"sync"
- "github.com/chrislusf/seaweedfs/weed/storage/needle_map"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/storage/needle_map"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
)
type NeedleMapType int
diff --git a/weed/storage/needle_map/btree_map.go b/weed/storage/needle_map/btree_map.go
index a26c5e068..01a7ee5e0 100644
--- a/weed/storage/needle_map/btree_map.go
+++ b/weed/storage/needle_map/btree_map.go
@@ -1,7 +1,7 @@
package needle_map
import (
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
"github.com/google/btree"
)
diff --git a/weed/storage/needle_map/compact_map.go b/weed/storage/needle_map/compact_map.go
index 76783d0b0..da613124a 100644
--- a/weed/storage/needle_map/compact_map.go
+++ b/weed/storage/needle_map/compact_map.go
@@ -4,7 +4,7 @@ import (
"sort"
"sync"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
)
const (
diff --git a/weed/storage/needle_map/compact_map_perf_test.go b/weed/storage/needle_map/compact_map_perf_test.go
index 3a3648641..8d1fa0fcf 100644
--- a/weed/storage/needle_map/compact_map_perf_test.go
+++ b/weed/storage/needle_map/compact_map_perf_test.go
@@ -8,8 +8,8 @@ import (
"testing"
"time"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
/*
diff --git a/weed/storage/needle_map/compact_map_test.go b/weed/storage/needle_map/compact_map_test.go
index 3bad85727..43761008c 100644
--- a/weed/storage/needle_map/compact_map_test.go
+++ b/weed/storage/needle_map/compact_map_test.go
@@ -2,7 +2,7 @@ package needle_map
import (
"fmt"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
"testing"
)
diff --git a/weed/storage/needle_map/needle_value.go b/weed/storage/needle_map/needle_value.go
index ef540b55e..fc54663bb 100644
--- a/weed/storage/needle_map/needle_value.go
+++ b/weed/storage/needle_map/needle_value.go
@@ -1,8 +1,8 @@
package needle_map
import (
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/google/btree"
)
diff --git a/weed/storage/needle_map/needle_value_map.go b/weed/storage/needle_map/needle_value_map.go
index 0a5a00ef7..e0afb355c 100644
--- a/weed/storage/needle_map/needle_value_map.go
+++ b/weed/storage/needle_map/needle_value_map.go
@@ -1,7 +1,7 @@
package needle_map
import (
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
)
type NeedleValueMap interface {
diff --git a/weed/storage/needle_map_leveldb.go b/weed/storage/needle_map_leveldb.go
index ef8571e83..7eec4e349 100644
--- a/weed/storage/needle_map_leveldb.go
+++ b/weed/storage/needle_map_leveldb.go
@@ -5,13 +5,13 @@ import (
"os"
"path/filepath"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
"github.com/syndtr/goleveldb/leveldb/opt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/needle_map"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/needle_map"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
"github.com/syndtr/goleveldb/leveldb"
)
diff --git a/weed/storage/needle_map_memory.go b/weed/storage/needle_map_memory.go
index ee639a7e6..84ff51a33 100644
--- a/weed/storage/needle_map_memory.go
+++ b/weed/storage/needle_map_memory.go
@@ -3,10 +3,10 @@ package storage
import (
"os"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
- "github.com/chrislusf/seaweedfs/weed/storage/needle_map"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/needle_map"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
)
type NeedleMap struct {
diff --git a/weed/storage/needle_map_metric.go b/weed/storage/needle_map_metric.go
index 823a04108..e22a5b5ca 100644
--- a/weed/storage/needle_map_metric.go
+++ b/weed/storage/needle_map_metric.go
@@ -5,8 +5,8 @@ import (
"os"
"sync/atomic"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
"github.com/willf/bloom"
)
diff --git a/weed/storage/needle_map_metric_test.go b/weed/storage/needle_map_metric_test.go
index 539f83a87..9b946036f 100644
--- a/weed/storage/needle_map_metric_test.go
+++ b/weed/storage/needle_map_metric_test.go
@@ -1,8 +1,8 @@
package storage
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
"io/ioutil"
"math/rand"
"testing"
diff --git a/weed/storage/store.go b/weed/storage/store.go
index f0dc90790..89b92f229 100644
--- a/weed/storage/store.go
+++ b/weed/storage/store.go
@@ -4,11 +4,11 @@ import (
"fmt"
"sync/atomic"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
"google.golang.org/grpc"
)
@@ -59,7 +59,7 @@ func NewStore(grpcDialOption grpc.DialOption, port int, ip, publicUrl string, di
return
}
-func (s *Store) AddVolume(volumeId needle.VolumeId, collection string, needleMapKind NeedleMapType, replicaPlacement string, ttlString string, preallocate int64) error {
+func (s *Store) AddVolume(volumeId needle.VolumeId, collection string, needleMapKind NeedleMapType, replicaPlacement string, ttlString string, preallocate int64, memoryMapped bool) error {
rt, e := NewReplicaPlacementFromString(replicaPlacement)
if e != nil {
return e
@@ -68,7 +68,7 @@ func (s *Store) AddVolume(volumeId needle.VolumeId, collection string, needleMap
if e != nil {
return e
}
- e = s.addVolume(volumeId, collection, needleMapKind, rt, ttl, preallocate)
+ e = s.addVolume(volumeId, collection, needleMapKind, rt, ttl, preallocate, memoryMapped)
return e
}
func (s *Store) DeleteCollection(collection string) (e error) {
@@ -101,14 +101,14 @@ func (s *Store) FindFreeLocation() (ret *DiskLocation) {
}
return ret
}
-func (s *Store) addVolume(vid needle.VolumeId, collection string, needleMapKind NeedleMapType, replicaPlacement *ReplicaPlacement, ttl *needle.TTL, preallocate int64) error {
+func (s *Store) addVolume(vid needle.VolumeId, collection string, needleMapKind NeedleMapType, replicaPlacement *ReplicaPlacement, ttl *needle.TTL, preallocate int64, memoryMapped bool) error {
if s.findVolume(vid) != nil {
return fmt.Errorf("Volume Id %d already exists!", vid)
}
if location := s.FindFreeLocation(); location != nil {
glog.V(0).Infof("In dir %s adds volume:%v collection:%s replicaPlacement:%v ttl:%v",
location.Directory, vid, collection, replicaPlacement, ttl)
- if volume, err := NewVolume(location.Directory, collection, vid, needleMapKind, replicaPlacement, ttl, preallocate); err == nil {
+ if volume, err := NewVolume(location.Directory, collection, vid, needleMapKind, replicaPlacement, ttl, preallocate, memoryMapped); err == nil {
location.SetVolume(vid, volume)
glog.V(0).Infof("add volume %d", vid)
s.NewVolumesChan <- master_pb.VolumeShortInformationMessage{
diff --git a/weed/storage/store_ec.go b/weed/storage/store_ec.go
index 8271324cf..570f00713 100644
--- a/weed/storage/store_ec.go
+++ b/weed/storage/store_ec.go
@@ -8,14 +8,14 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
"github.com/klauspost/reedsolomon"
)
diff --git a/weed/storage/store_ec_delete.go b/weed/storage/store_ec_delete.go
index e027d2887..c1e582668 100644
--- a/weed/storage/store_ec_delete.go
+++ b/weed/storage/store_ec_delete.go
@@ -4,12 +4,12 @@ import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
func (s *Store) DeleteEcShardNeedle(ctx context.Context, ecVolume *erasure_coding.EcVolume, n *needle.Needle, cookie types.Cookie) (int64, error) {
diff --git a/weed/storage/store_vacuum.go b/weed/storage/store_vacuum.go
index b1f1a6277..6acf5b10e 100644
--- a/weed/storage/store_vacuum.go
+++ b/weed/storage/store_vacuum.go
@@ -3,8 +3,8 @@ package storage
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (s *Store) CheckCompactVolume(volumeId needle.VolumeId) (float64, error) {
diff --git a/weed/storage/types/needle_id_type.go b/weed/storage/types/needle_id_type.go
index 32a296613..556e1b9d2 100644
--- a/weed/storage/types/needle_id_type.go
+++ b/weed/storage/types/needle_id_type.go
@@ -2,7 +2,7 @@ package types
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/util"
"strconv"
)
diff --git a/weed/storage/types/needle_types.go b/weed/storage/types/needle_types.go
index 2ebb392db..b493af27e 100644
--- a/weed/storage/types/needle_types.go
+++ b/weed/storage/types/needle_types.go
@@ -2,7 +2,7 @@ package types
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/util"
"math"
"strconv"
)
diff --git a/weed/storage/volume.go b/weed/storage/volume.go
index a2e34bd04..efe0328cd 100644
--- a/weed/storage/volume.go
+++ b/weed/storage/volume.go
@@ -3,10 +3,10 @@ package storage
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
"os"
"path"
@@ -14,7 +14,7 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
type Volume struct {
@@ -25,6 +25,7 @@ type Volume struct {
nm NeedleMapper
needleMapKind NeedleMapType
readOnly bool
+ MemoryMapped bool
SuperBlock
@@ -38,9 +39,9 @@ type Volume struct {
isCompacting bool
}
-func NewVolume(dirname string, collection string, id needle.VolumeId, needleMapKind NeedleMapType, replicaPlacement *ReplicaPlacement, ttl *needle.TTL, preallocate int64) (v *Volume, e error) {
+func NewVolume(dirname string, collection string, id needle.VolumeId, needleMapKind NeedleMapType, replicaPlacement *ReplicaPlacement, ttl *needle.TTL, preallocate int64, memoryMapped bool) (v *Volume, e error) {
// if replicaPlacement is nil, the superblock will be loaded from disk
- v = &Volume{dir: dirname, Collection: collection, Id: id}
+ v = &Volume{dir: dirname, Collection: collection, Id: id, MemoryMapped: memoryMapped}
v.SuperBlock = SuperBlock{ReplicaPlacement: replicaPlacement, Ttl: ttl}
v.needleMapKind = needleMapKind
e = v.load(true, true, needleMapKind, preallocate)
diff --git a/weed/storage/volume_backup.go b/weed/storage/volume_backup.go
index 86d13da7a..c9445881c 100644
--- a/weed/storage/volume_backup.go
+++ b/weed/storage/volume_backup.go
@@ -6,11 +6,11 @@ import (
"io"
"os"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
"google.golang.org/grpc"
)
diff --git a/weed/storage/volume_checking.go b/weed/storage/volume_checking.go
index 8f930546f..0f26bd103 100644
--- a/weed/storage/volume_checking.go
+++ b/weed/storage/volume_checking.go
@@ -4,10 +4,10 @@ import (
"fmt"
"os"
- "github.com/chrislusf/seaweedfs/weed/storage/idx"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func CheckVolumeDataIntegrity(v *Volume, indexFile *os.File) (lastAppendAtNs uint64, e error) {
diff --git a/weed/storage/volume_create.go b/weed/storage/volume_create.go
index 76231c533..a3d889de2 100644
--- a/weed/storage/volume_create.go
+++ b/weed/storage/volume_create.go
@@ -1,14 +1,14 @@
-// +build !linux
+// +build !linux, !windows
package storage
import (
"os"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
-func createVolumeFile(fileName string, preallocate int64) (file *os.File, e error) {
+func createVolumeFile(fileName string, preallocate int64, useMemoryMap bool) (*os.File, error) {
file, e = os.OpenFile(fileName, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
if preallocate > 0 {
glog.V(0).Infof("Preallocated disk space for %s is not supported", fileName)
diff --git a/weed/storage/volume_create_linux.go b/weed/storage/volume_create_linux.go
index 355392c88..47c00fc66 100644
--- a/weed/storage/volume_create_linux.go
+++ b/weed/storage/volume_create_linux.go
@@ -6,10 +6,10 @@ import (
"os"
"syscall"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
-func createVolumeFile(fileName string, preallocate int64) (file *os.File, e error) {
+func createVolumeFile(fileName string, preallocate int64, useMemoryMap bool) (file *os.File, e error) {
file, e = os.OpenFile(fileName, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0644)
if preallocate != 0 {
syscall.Fallocate(int(file.Fd()), 1, 0, preallocate)
diff --git a/weed/storage/volume_create_windows.go b/weed/storage/volume_create_windows.go
new file mode 100644
index 000000000..494b13728
--- /dev/null
+++ b/weed/storage/volume_create_windows.go
@@ -0,0 +1,34 @@
+// +build windows
+
+package storage
+
+import (
+ "os"
+
+ "github.com/joeslay/seaweedfs/weed/storage/memory_map"
+ "golang.org/x/sys/windows"
+
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/os_overloads"
+)
+
+func createVolumeFile(fileName string, preallocate int64, useMemoryMap bool) (*os.File, error) {
+
+ mMap, exists := memory_map.FileMemoryMap[fileName]
+ if !exists {
+ file, e := os_overloads.OpenFile(fileName, windows.O_RDWR|windows.O_CREAT, 0644, useMemoryMap)
+ if useMemoryMap {
+ memory_map.FileMemoryMap[fileName] = new(memory_map.MemoryMap)
+
+ new_mMap := memory_map.FileMemoryMap[fileName]
+ new_mMap.CreateMemoryMap(file, 1024*1024*1024*2)
+ }
+
+ if preallocate > 0 {
+ glog.V(0).Infof("Preallocated disk space for %s is not supported", fileName)
+ }
+ return file, e
+ } else {
+ return mMap.File, nil
+ }
+}
diff --git a/weed/storage/volume_info.go b/weed/storage/volume_info.go
index 111058b6e..6990d42b1 100644
--- a/weed/storage/volume_info.go
+++ b/weed/storage/volume_info.go
@@ -4,8 +4,8 @@ import (
"fmt"
"sort"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
type VolumeInfo struct {
diff --git a/weed/storage/volume_info_test.go b/weed/storage/volume_info_test.go
index 5b1bacb52..9ace2be02 100644
--- a/weed/storage/volume_info_test.go
+++ b/weed/storage/volume_info_test.go
@@ -3,7 +3,7 @@ package storage
import (
"testing"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func TestSortVolumeInfos(t *testing.T) {
diff --git a/weed/storage/volume_loading.go b/weed/storage/volume_loading.go
index 0b6021ca8..bdf9984e5 100644
--- a/weed/storage/volume_loading.go
+++ b/weed/storage/volume_loading.go
@@ -5,11 +5,11 @@ import (
"os"
"time"
- "github.com/chrislusf/seaweedfs/weed/stats"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"github.com/syndtr/goleveldb/leveldb/opt"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
func loadVolumeWithoutIndex(dirname string, collection string, id needle.VolumeId, needleMapKind NeedleMapType) (v *Volume, e error) {
@@ -42,7 +42,7 @@ func (v *Volume) load(alsoLoadIndex bool, createDatIfMissing bool, needleMapKind
}
} else {
if createDatIfMissing {
- v.dataFile, e = createVolumeFile(fileName+".dat", preallocate)
+ v.dataFile, e = createVolumeFile(fileName+".dat", preallocate, v.MemoryMapped)
} else {
return fmt.Errorf("Volume Data file %s.dat does not exist.", fileName)
}
diff --git a/weed/storage/volume_read_write.go b/weed/storage/volume_read_write.go
index ae05331a4..78010482d 100644
--- a/weed/storage/volume_read_write.go
+++ b/weed/storage/volume_read_write.go
@@ -8,9 +8,10 @@ import (
"os"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/memory_map"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
)
var ErrorNotFound = errors.New("not found")
@@ -48,6 +49,12 @@ func (v *Volume) Destroy() (err error) {
err = fmt.Errorf("volume %d is compacting", v.Id)
return
}
+ mMap, exists := memory_map.FileMemoryMap[v.dataFile.Name()]
+ if exists {
+ mMap.DeleteFileAndMemoryMap()
+ delete(memory_map.FileMemoryMap, v.dataFile.Name())
+ }
+
v.Close()
os.Remove(v.FileName() + ".dat")
os.Remove(v.FileName() + ".idx")
diff --git a/weed/storage/volume_super_block.go b/weed/storage/volume_super_block.go
index 164c887e1..f93c43fbf 100644
--- a/weed/storage/volume_super_block.go
+++ b/weed/storage/volume_super_block.go
@@ -4,11 +4,13 @@ import (
"fmt"
"os"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/storage/memory_map"
+
"github.com/golang/protobuf/proto"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
)
const (
@@ -70,24 +72,34 @@ func (s *SuperBlock) Bytes() []byte {
}
func (v *Volume) maybeWriteSuperBlock() error {
- stat, e := v.dataFile.Stat()
- if e != nil {
- glog.V(0).Infof("failed to stat datafile %s: %v", v.dataFile.Name(), e)
- return e
- }
- if stat.Size() == 0 {
- v.SuperBlock.version = needle.CurrentVersion
- _, e = v.dataFile.Write(v.SuperBlock.Bytes())
- if e != nil && os.IsPermission(e) {
- //read-only, but zero length - recreate it!
- if v.dataFile, e = os.Create(v.dataFile.Name()); e == nil {
- if _, e = v.dataFile.Write(v.SuperBlock.Bytes()); e == nil {
- v.readOnly = false
+
+ mMap, exists := memory_map.FileMemoryMap[v.dataFile.Name()]
+ if exists {
+ if mMap.End_of_file == -1 {
+ v.SuperBlock.version = needle.CurrentVersion
+ mMap.WriteMemory(0, uint64(len(v.SuperBlock.Bytes())), v.SuperBlock.Bytes())
+ }
+ return nil
+ } else {
+ stat, e := v.dataFile.Stat()
+ if e != nil {
+ glog.V(0).Infof("failed to stat datafile %s: %v", v.dataFile.Name(), e)
+ return e
+ }
+ if stat.Size() == 0 {
+ v.SuperBlock.version = needle.CurrentVersion
+ _, e = v.dataFile.Write(v.SuperBlock.Bytes())
+ if e != nil && os.IsPermission(e) {
+ //read-only, but zero length - recreate it!
+ if v.dataFile, e = os.Create(v.dataFile.Name()); e == nil {
+ if _, e = v.dataFile.Write(v.SuperBlock.Bytes()); e == nil {
+ v.readOnly = false
+ }
}
}
}
+ return e
}
- return e
}
func (v *Volume) readSuperBlock() (err error) {
@@ -97,15 +109,28 @@ func (v *Volume) readSuperBlock() (err error) {
// ReadSuperBlock reads from data file and load it into volume's super block
func ReadSuperBlock(dataFile *os.File) (superBlock SuperBlock, err error) {
- if _, err = dataFile.Seek(0, 0); err != nil {
- err = fmt.Errorf("cannot seek to the beginning of %s: %v", dataFile.Name(), err)
- return
- }
+
header := make([]byte, _SuperBlockSize)
- if _, e := dataFile.Read(header); e != nil {
- err = fmt.Errorf("cannot read volume %s super block: %v", dataFile.Name(), e)
- return
+ mMap, exists := memory_map.FileMemoryMap[dataFile.Name()]
+ if exists {
+ mem_buffer, e := mMap.ReadMemory(0, _SuperBlockSize)
+ if err != nil {
+ err = fmt.Errorf("cannot read volume %s super block: %v", dataFile.Name(), e)
+ return
+ }
+ copy(header, mem_buffer.Buffer)
+ mem_buffer.ReleaseMemory()
+ } else {
+ if _, err = dataFile.Seek(0, 0); err != nil {
+ err = fmt.Errorf("cannot seek to the beginning of %s: %v", dataFile.Name(), err)
+ return
+ }
+ if _, e := dataFile.Read(header); e != nil {
+ err = fmt.Errorf("cannot read volume %s super block: %v", dataFile.Name(), e)
+ return
+ }
}
+
superBlock.version = needle.Version(header[0])
if superBlock.ReplicaPlacement, err = NewReplicaPlacementFromByte(header[1]); err != nil {
err = fmt.Errorf("cannot read replica type: %s", err.Error())
diff --git a/weed/storage/volume_super_block_test.go b/weed/storage/volume_super_block_test.go
index 06ad8a5d3..433eacdff 100644
--- a/weed/storage/volume_super_block_test.go
+++ b/weed/storage/volume_super_block_test.go
@@ -3,7 +3,7 @@ package storage
import (
"testing"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func TestSuperBlockReadWrite(t *testing.T) {
diff --git a/weed/storage/volume_vacuum.go b/weed/storage/volume_vacuum.go
index c021c4c18..48b3958d5 100644
--- a/weed/storage/volume_vacuum.go
+++ b/weed/storage/volume_vacuum.go
@@ -5,13 +5,13 @@ import (
"os"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/stats"
- idx2 "github.com/chrislusf/seaweedfs/weed/storage/idx"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/needle_map"
- . "github.com/chrislusf/seaweedfs/weed/storage/types"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/stats"
+ idx2 "github.com/joeslay/seaweedfs/weed/storage/idx"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle_map"
+ . "github.com/joeslay/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func (v *Volume) garbageLevel() float64 {
@@ -22,85 +22,97 @@ func (v *Volume) garbageLevel() float64 {
}
func (v *Volume) Compact(preallocate int64, compactionBytePerSecond int64) error {
- glog.V(3).Infof("Compacting volume %d ...", v.Id)
- //no need to lock for copy on write
- //v.accessLock.Lock()
- //defer v.accessLock.Unlock()
- //glog.V(3).Infof("Got Compaction lock...")
- v.isCompacting = true
- defer func() {
- v.isCompacting = false
- }()
-
- filePath := v.FileName()
- v.lastCompactIndexOffset = v.IndexFileSize()
- v.lastCompactRevision = v.SuperBlock.CompactionRevision
- glog.V(3).Infof("creating copies for volume %d ,last offset %d...", v.Id, v.lastCompactIndexOffset)
- return v.copyDataAndGenerateIndexFile(filePath+".cpd", filePath+".cpx", preallocate, compactionBytePerSecond)
+
+ if !v.MemoryMapped { //it makes no sense to compact in memory
+ glog.V(3).Infof("Compacting volume %d ...", v.Id)
+ //no need to lock for copy on write
+ //v.accessLock.Lock()
+ //defer v.accessLock.Unlock()
+ //glog.V(3).Infof("Got Compaction lock...")
+ v.isCompacting = true
+ defer func() {
+ v.isCompacting = false
+ }()
+
+ filePath := v.FileName()
+ v.lastCompactIndexOffset = v.IndexFileSize()
+ v.lastCompactRevision = v.SuperBlock.CompactionRevision
+ glog.V(3).Infof("creating copies for volume %d ,last offset %d...", v.Id, v.lastCompactIndexOffset)
+ return v.copyDataAndGenerateIndexFile(filePath+".cpd", filePath+".cpx", preallocate, compactionBytePerSecond)
+ } else {
+ return nil
+ }
}
func (v *Volume) Compact2() error {
- glog.V(3).Infof("Compact2 volume %d ...", v.Id)
- v.isCompacting = true
- defer func() {
- v.isCompacting = false
- }()
+ if !v.MemoryMapped { //it makes no sense to compact in memory
+ glog.V(3).Infof("Compact2 volume %d ...", v.Id)
+
+ v.isCompacting = true
+ defer func() {
+ v.isCompacting = false
+ }()
- filePath := v.FileName()
- glog.V(3).Infof("creating copies for volume %d ...", v.Id)
- return v.copyDataBasedOnIndexFile(filePath+".cpd", filePath+".cpx")
+ filePath := v.FileName()
+ glog.V(3).Infof("creating copies for volume %d ...", v.Id)
+ return v.copyDataBasedOnIndexFile(filePath+".cpd", filePath+".cpx")
+ } else {
+ return nil
+ }
}
func (v *Volume) CommitCompact() error {
- glog.V(0).Infof("Committing volume %d vacuuming...", v.Id)
+ if !v.MemoryMapped { //it makes no sense to compact in memory
+ glog.V(0).Infof("Committing volume %d vacuuming...", v.Id)
- v.isCompacting = true
- defer func() {
- v.isCompacting = false
- }()
+ v.isCompacting = true
+ defer func() {
+ v.isCompacting = false
+ }()
- v.dataFileAccessLock.Lock()
- defer v.dataFileAccessLock.Unlock()
+ v.dataFileAccessLock.Lock()
+ defer v.dataFileAccessLock.Unlock()
- glog.V(3).Infof("Got volume %d committing lock...", v.Id)
- v.nm.Close()
- if err := v.dataFile.Close(); err != nil {
- glog.V(0).Infof("fail to close volume %d", v.Id)
- }
- v.dataFile = nil
- stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume").Dec()
-
- var e error
- if e = v.makeupDiff(v.FileName()+".cpd", v.FileName()+".cpx", v.FileName()+".dat", v.FileName()+".idx"); e != nil {
- glog.V(0).Infof("makeupDiff in CommitCompact volume %d failed %v", v.Id, e)
- e = os.Remove(v.FileName() + ".cpd")
- if e != nil {
- return e
- }
- e = os.Remove(v.FileName() + ".cpx")
- if e != nil {
- return e
+ glog.V(3).Infof("Got volume %d committing lock...", v.Id)
+ v.nm.Close()
+ if err := v.dataFile.Close(); err != nil {
+ glog.V(0).Infof("fail to close volume %d", v.Id)
}
- } else {
+ v.dataFile = nil
+ stats.VolumeServerVolumeCounter.WithLabelValues(v.Collection, "volume").Dec()
+
var e error
- if e = os.Rename(v.FileName()+".cpd", v.FileName()+".dat"); e != nil {
- return fmt.Errorf("rename %s: %v", v.FileName()+".cpd", e)
- }
- if e = os.Rename(v.FileName()+".cpx", v.FileName()+".idx"); e != nil {
- return fmt.Errorf("rename %s: %v", v.FileName()+".cpx", e)
+ if e = v.makeupDiff(v.FileName()+".cpd", v.FileName()+".cpx", v.FileName()+".dat", v.FileName()+".idx"); e != nil {
+ glog.V(0).Infof("makeupDiff in CommitCompact volume %d failed %v", v.Id, e)
+ e = os.Remove(v.FileName() + ".cpd")
+ if e != nil {
+ return e
+ }
+ e = os.Remove(v.FileName() + ".cpx")
+ if e != nil {
+ return e
+ }
+ } else {
+ var e error
+ if e = os.Rename(v.FileName()+".cpd", v.FileName()+".dat"); e != nil {
+ return fmt.Errorf("rename %s: %v", v.FileName()+".cpd", e)
+ }
+ if e = os.Rename(v.FileName()+".cpx", v.FileName()+".idx"); e != nil {
+ return fmt.Errorf("rename %s: %v", v.FileName()+".cpx", e)
+ }
}
- }
- //glog.V(3).Infof("Pretending to be vacuuming...")
- //time.Sleep(20 * time.Second)
+ //glog.V(3).Infof("Pretending to be vacuuming...")
+ //time.Sleep(20 * time.Second)
- os.RemoveAll(v.FileName() + ".ldb")
- os.RemoveAll(v.FileName() + ".bdb")
+ os.RemoveAll(v.FileName() + ".ldb")
+ os.RemoveAll(v.FileName() + ".bdb")
- glog.V(3).Infof("Loading volume %d commit file...", v.Id)
- if e = v.load(true, false, v.needleMapKind, 0); e != nil {
- return e
+ glog.V(3).Infof("Loading volume %d commit file...", v.Id)
+ if e = v.load(true, false, v.needleMapKind, 0); e != nil {
+ return e
+ }
}
return nil
}
@@ -299,7 +311,7 @@ func (v *Volume) copyDataAndGenerateIndexFile(dstName, idxName string, prealloca
var (
dst, idx *os.File
)
- if dst, err = createVolumeFile(dstName, preallocate); err != nil {
+ if dst, err = createVolumeFile(dstName, preallocate, v.MemoryMapped); err != nil {
return
}
defer dst.Close()
diff --git a/weed/storage/volume_vacuum_test.go b/weed/storage/volume_vacuum_test.go
index 54899c788..3657404ca 100644
--- a/weed/storage/volume_vacuum_test.go
+++ b/weed/storage/volume_vacuum_test.go
@@ -7,8 +7,8 @@ import (
"testing"
"time"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/storage/types"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/types"
)
/*
@@ -68,7 +68,7 @@ func TestCompaction(t *testing.T) {
}
defer os.RemoveAll(dir) // clean up
- v, err := NewVolume(dir, "", 1, NeedleMapInMemory, &ReplicaPlacement{}, &needle.TTL{}, 0)
+ v, err := NewVolume(dir, "", 1, NeedleMapInMemory, &ReplicaPlacement{}, &needle.TTL{}, 0, false)
if err != nil {
t.Fatalf("volume creation: %v", err)
}
@@ -95,7 +95,7 @@ func TestCompaction(t *testing.T) {
v.Close()
- v, err = NewVolume(dir, "", 1, NeedleMapInMemory, nil, nil, 0)
+ v, err = NewVolume(dir, "", 1, NeedleMapInMemory, nil, nil, 0, false)
if err != nil {
t.Fatalf("volume reloading: %v", err)
}
diff --git a/weed/topology/allocate_volume.go b/weed/topology/allocate_volume.go
index 48336092f..91a67681a 100644
--- a/weed/topology/allocate_volume.go
+++ b/weed/topology/allocate_volume.go
@@ -3,9 +3,9 @@ package topology
import (
"context"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
)
@@ -23,6 +23,7 @@ func AllocateVolume(dn *DataNode, grpcDialOption grpc.DialOption, vid needle.Vol
Replication: option.ReplicaPlacement.String(),
Ttl: option.Ttl.String(),
Preallocate: option.Prealloacte,
+ InMemory: option.InMemory,
})
return deleteErr
})
diff --git a/weed/topology/cluster_commands.go b/weed/topology/cluster_commands.go
index 152691ccb..a5843d0e5 100644
--- a/weed/topology/cluster_commands.go
+++ b/weed/topology/cluster_commands.go
@@ -2,8 +2,8 @@ package topology
import (
"github.com/chrislusf/raft"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
type MaxVolumeIdCommand struct {
diff --git a/weed/topology/collection.go b/weed/topology/collection.go
index f6b728ec9..c4fd3af61 100644
--- a/weed/topology/collection.go
+++ b/weed/topology/collection.go
@@ -3,9 +3,9 @@ package topology
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type Collection struct {
diff --git a/weed/topology/data_center.go b/weed/topology/data_center.go
index 640cb1937..b419070f8 100644
--- a/weed/topology/data_center.go
+++ b/weed/topology/data_center.go
@@ -1,6 +1,6 @@
package topology
-import "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
+import "github.com/joeslay/seaweedfs/weed/pb/master_pb"
type DataCenter struct {
NodeImpl
diff --git a/weed/topology/data_node.go b/weed/topology/data_node.go
index 3e72ccdbf..83e58e075 100644
--- a/weed/topology/data_node.go
+++ b/weed/topology/data_node.go
@@ -4,14 +4,14 @@ import (
"fmt"
"sync"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"strconv"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
)
type DataNode struct {
diff --git a/weed/topology/data_node_ec.go b/weed/topology/data_node_ec.go
index 75c8784fe..404ce7c7b 100644
--- a/weed/topology/data_node_ec.go
+++ b/weed/topology/data_node_ec.go
@@ -1,8 +1,8 @@
package topology
import (
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
func (dn *DataNode) GetEcShards() (ret []*erasure_coding.EcVolumeInfo) {
diff --git a/weed/topology/node.go b/weed/topology/node.go
index b2808f589..cfa6bebc4 100644
--- a/weed/topology/node.go
+++ b/weed/topology/node.go
@@ -7,9 +7,9 @@ import (
"sync"
"sync/atomic"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
type NodeId string
diff --git a/weed/topology/rack.go b/weed/topology/rack.go
index 932c1a804..9926dbbff 100644
--- a/weed/topology/rack.go
+++ b/weed/topology/rack.go
@@ -1,7 +1,7 @@
package topology
import (
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
"strconv"
"time"
)
diff --git a/weed/topology/store_replicate.go b/weed/topology/store_replicate.go
index d21c4d210..e3f3b445e 100644
--- a/weed/topology/store_replicate.go
+++ b/weed/topology/store_replicate.go
@@ -10,12 +10,12 @@ import (
"strconv"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/security"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/security"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
)
func ReplicatedWrite(masterNode string, s *storage.Store,
diff --git a/weed/topology/topology.go b/weed/topology/topology.go
index eff8c99a0..48b8080b7 100644
--- a/weed/topology/topology.go
+++ b/weed/topology/topology.go
@@ -7,12 +7,12 @@ import (
"sync"
"github.com/chrislusf/raft"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/sequence"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/sequence"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/util"
)
type Topology struct {
diff --git a/weed/topology/topology_ec.go b/weed/topology/topology_ec.go
index 93b39bb5d..91330f00f 100644
--- a/weed/topology/topology_ec.go
+++ b/weed/topology/topology_ec.go
@@ -1,10 +1,10 @@
package topology
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/storage/erasure_coding"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/storage/erasure_coding"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
type EcShardLocations struct {
diff --git a/weed/topology/topology_event_handling.go b/weed/topology/topology_event_handling.go
index 041351492..c51070a32 100644
--- a/weed/topology/topology_event_handling.go
+++ b/weed/topology/topology_event_handling.go
@@ -5,8 +5,8 @@ import (
"math/rand"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
)
func (t *Topology) StartRefreshWritableVolumes(grpcDialOption grpc.DialOption, garbageThreshold float64, preallocate int64) {
diff --git a/weed/topology/topology_map.go b/weed/topology/topology_map.go
index 37a88c9ed..d779bd590 100644
--- a/weed/topology/topology_map.go
+++ b/weed/topology/topology_map.go
@@ -1,6 +1,6 @@
package topology
-import "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
+import "github.com/joeslay/seaweedfs/weed/pb/master_pb"
func (t *Topology) ToMap() interface{} {
m := make(map[string]interface{})
diff --git a/weed/topology/topology_test.go b/weed/topology/topology_test.go
index 8f79ad684..5910c87db 100644
--- a/weed/topology/topology_test.go
+++ b/weed/topology/topology_test.go
@@ -1,10 +1,10 @@
package topology
import (
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/sequence"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/sequence"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"testing"
)
diff --git a/weed/topology/topology_vacuum.go b/weed/topology/topology_vacuum.go
index 37a6a30b9..15b813815 100644
--- a/weed/topology/topology_vacuum.go
+++ b/weed/topology/topology_vacuum.go
@@ -5,12 +5,12 @@ import (
"sync/atomic"
"time"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/operation"
- "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/operation"
+ "github.com/joeslay/seaweedfs/weed/pb/volume_server_pb"
)
func batchVacuumVolumeCheck(grpcDialOption grpc.DialOption, vl *VolumeLayout, vid needle.VolumeId, locationlist *VolumeLocationList, garbageThreshold float64) bool {
diff --git a/weed/topology/volume_growth.go b/weed/topology/volume_growth.go
index ff02044a1..b9b2b69f7 100644
--- a/weed/topology/volume_growth.go
+++ b/weed/topology/volume_growth.go
@@ -5,11 +5,11 @@ import (
"math/rand"
"sync"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
"google.golang.org/grpc"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
)
/*
@@ -28,6 +28,7 @@ type VolumeGrowOption struct {
DataCenter string
Rack string
DataNode string
+ InMemory bool
}
type VolumeGrowth struct {
diff --git a/weed/topology/volume_growth_test.go b/weed/topology/volume_growth_test.go
index 3573365fd..b1573ae00 100644
--- a/weed/topology/volume_growth_test.go
+++ b/weed/topology/volume_growth_test.go
@@ -5,9 +5,9 @@ import (
"fmt"
"testing"
- "github.com/chrislusf/seaweedfs/weed/sequence"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/sequence"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
var topologyLayout = `
diff --git a/weed/topology/volume_layout.go b/weed/topology/volume_layout.go
index 799cbca62..b2b1dd49f 100644
--- a/weed/topology/volume_layout.go
+++ b/weed/topology/volume_layout.go
@@ -7,9 +7,9 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/storage"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/storage"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
// mapping from volume to its locations, inverted from server to volume
diff --git a/weed/topology/volume_location_list.go b/weed/topology/volume_location_list.go
index 8905c54b5..8fddc1912 100644
--- a/weed/topology/volume_location_list.go
+++ b/weed/topology/volume_location_list.go
@@ -3,7 +3,7 @@ package topology
import (
"fmt"
- "github.com/chrislusf/seaweedfs/weed/storage/needle"
+ "github.com/joeslay/seaweedfs/weed/storage/needle"
)
type VolumeLocationList struct {
diff --git a/weed/util/compression.go b/weed/util/compression.go
index c6c9423e2..a825dadcb 100644
--- a/weed/util/compression.go
+++ b/weed/util/compression.go
@@ -7,7 +7,7 @@ import (
"io/ioutil"
"strings"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
"golang.org/x/tools/godoc/util"
)
diff --git a/weed/util/config.go b/weed/util/config.go
index 1ea833d1f..3028b14bf 100644
--- a/weed/util/config.go
+++ b/weed/util/config.go
@@ -1,7 +1,7 @@
package util
import (
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
"github.com/spf13/viper"
)
diff --git a/weed/util/file_util.go b/weed/util/file_util.go
index 78add6724..c6da9c934 100644
--- a/weed/util/file_util.go
+++ b/weed/util/file_util.go
@@ -4,7 +4,7 @@ import (
"errors"
"os"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
func TestFolderWritable(folder string) (err error) {
diff --git a/weed/util/net_timeout.go b/weed/util/net_timeout.go
index b8068e67f..10f3f893b 100644
--- a/weed/util/net_timeout.go
+++ b/weed/util/net_timeout.go
@@ -4,7 +4,7 @@ import (
"net"
"time"
- "github.com/chrislusf/seaweedfs/weed/stats"
+ "github.com/joeslay/seaweedfs/weed/stats"
)
// Listener wraps a net.Listener, and gives a place to store the timeout
diff --git a/weed/util/pprof.go b/weed/util/pprof.go
index a2621ceee..088053803 100644
--- a/weed/util/pprof.go
+++ b/weed/util/pprof.go
@@ -5,7 +5,7 @@ import (
"runtime"
"runtime/pprof"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
func SetupProfiling(cpuProfile, memProfile string) {
diff --git a/weed/wdclient/masterclient.go b/weed/wdclient/masterclient.go
index da867696d..bfe145b30 100644
--- a/weed/wdclient/masterclient.go
+++ b/weed/wdclient/masterclient.go
@@ -6,9 +6,9 @@ import (
"math/rand"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
- "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
- "github.com/chrislusf/seaweedfs/weed/util"
+ "github.com/joeslay/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/pb/master_pb"
+ "github.com/joeslay/seaweedfs/weed/util"
"google.golang.org/grpc"
)
diff --git a/weed/wdclient/vid_map.go b/weed/wdclient/vid_map.go
index 01d9cdaed..ccb9f926f 100644
--- a/weed/wdclient/vid_map.go
+++ b/weed/wdclient/vid_map.go
@@ -9,7 +9,7 @@ import (
"sync"
"time"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
type Location struct {
diff --git a/weed/weed.go b/weed/weed.go
index ecb0ba2a4..2bdefc9d7 100644
--- a/weed/weed.go
+++ b/weed/weed.go
@@ -16,8 +16,8 @@ import (
"unicode"
"unicode/utf8"
- "github.com/chrislusf/seaweedfs/weed/command"
- "github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/joeslay/seaweedfs/weed/command"
+ "github.com/joeslay/seaweedfs/weed/glog"
)
var IsDebug *bool