diff --git a/Makefile b/Makefile index eb2ae5d19..7a8d640a7 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ getdeps: checks @echo "Installing misspell" && go get -u github.com/client9/misspell/cmd/misspell @echo "Installing ineffassign" && go get -u github.com/gordonklaus/ineffassign -verifiers: getdeps vet fmt lint cyclo spelling +verifiers: getdeps vet fmt lint cyclo deadcode spelling vet: @echo "Running $@" @@ -46,7 +46,8 @@ cyclo: @${GOPATH}/bin/gocyclo -over 100 pkg deadcode: - @${GOPATH}/bin/deadcode + @echo "Running $@" + @${GOPATH}/bin/deadcode -test $(shell go list ./... | grep -v -e browser -e vendor) || true spelling: @${GOPATH}/bin/misspell -error `find cmd/` diff --git a/cmd/format-config-v1.go b/cmd/format-config-v1.go index 97ebcb68a..456973e2d 100644 --- a/cmd/format-config-v1.go +++ b/cmd/format-config-v1.go @@ -531,30 +531,6 @@ func loadFormat(disk StorageAPI) (format *formatConfigV1, err error) { return format, nil } -// isFormatNotFound - returns true if all `format.json` are not found on all disks. -func isFormatNotFound(formats []*formatConfigV1) bool { - for _, format := range formats { - // One of the `format.json` is found. - if format != nil { - return false - } - } - // All format.json missing, success. - return true -} - -// isFormatFound - returns true if all input formats are found on all disks. -func isFormatFound(formats []*formatConfigV1) bool { - for _, format := range formats { - // One of `format.json` is not found. - if format == nil { - return false - } - } - // All format.json present, success. - return true -} - // collectNSaveNewFormatConfigs - creates new format configs based on // the reference config and saves it on all disks, this is to be // called from healFormatXL* functions. diff --git a/cmd/gateway-gcs.go b/cmd/gateway-gcs.go index d3c2ddee7..9849e4bc3 100644 --- a/cmd/gateway-gcs.go +++ b/cmd/gateway-gcs.go @@ -59,9 +59,6 @@ const ( // Refer https://cloud.google.com/storage/docs/composite-objects gcsMaxComponents = 32 - // gcsMaxPartCount - maximum multipart parts GCS supports which is 32 x 32 = 1024. - gcsMaxPartCount = 1024 - // Every 24 hours we scan minio.sys.tmp to delete expired multiparts in minio.sys.tmp gcsCleanupInterval = time.Hour * 24 diff --git a/cmd/lock-instrument_test.go b/cmd/lock-instrument_test.go index 0b4d09545..3078f9307 100644 --- a/cmd/lock-instrument_test.go +++ b/cmd/lock-instrument_test.go @@ -38,84 +38,6 @@ type lockStateCase struct { expectedVolPathBlockCount int // Total locks blocked on the given pair. } -// Used for validating the Lock info obtaining from contol RPC end point for obtaining lock related info. -func verifyRPCLockInfoResponse(l lockStateCase, rpcLockInfoMap map[string]*SystemLockState, t TestErrHandler, testNum int) { - for _, rpcLockInfoResponse := range rpcLockInfoMap { - // Assert the total number of locks (locked + acquired) in the system. - if rpcLockInfoResponse.TotalLocks != int64(l.expectedGlobalLockCount) { - t.Fatalf("Test %d: Expected the global lock counter to be %v, but got %v", testNum, int64(l.expectedGlobalLockCount), - rpcLockInfoResponse.TotalLocks) - } - - // verify the count for total blocked locks. - if rpcLockInfoResponse.TotalBlockedLocks != int64(l.expectedBlockedLockCount) { - t.Fatalf("Test %d: Expected the total blocked lock counter to be %v, but got %v", testNum, int64(l.expectedBlockedLockCount), - rpcLockInfoResponse.TotalBlockedLocks) - } - - // verify the count for total running locks. - if rpcLockInfoResponse.TotalAcquiredLocks != int64(l.expectedRunningLockCount) { - t.Fatalf("Test %d: Expected the total running lock counter to be %v, but got %v", testNum, int64(l.expectedRunningLockCount), - rpcLockInfoResponse.TotalAcquiredLocks) - } - - for _, locksInfoPerObject := range rpcLockInfoResponse.LocksInfoPerObject { - // See whether the entry for the exists in the RPC response. - if locksInfoPerObject.Bucket == l.volume && locksInfoPerObject.Object == l.path { - // Assert the total number of locks (blocked + acquired) for the given pair. - if locksInfoPerObject.LocksOnObject != int64(l.expectedVolPathLockCount) { - t.Errorf("Test %d: Expected the total lock count for bucket: \"%s\", object: \"%s\" to be %v, but got %v", testNum, - l.volume, l.path, int64(l.expectedVolPathLockCount), locksInfoPerObject.LocksOnObject) - } - // Assert the total number of acquired locks for the given pair. - if locksInfoPerObject.LocksAcquiredOnObject != int64(l.expectedVolPathRunningCount) { - t.Errorf("Test %d: Expected the acquired lock count for bucket: \"%s\", object: \"%s\" to be %v, but got %v", testNum, - l.volume, l.path, int64(l.expectedVolPathRunningCount), locksInfoPerObject.LocksAcquiredOnObject) - } - // Assert the total number of blocked locks for the given pair. - if locksInfoPerObject.TotalBlockedLocks != int64(l.expectedVolPathBlockCount) { - t.Errorf("Test %d: Expected the blocked lock count for bucket: \"%s\", object: \"%s\" to be %v, but got %v", testNum, - l.volume, l.path, int64(l.expectedVolPathBlockCount), locksInfoPerObject.TotalBlockedLocks) - } - // Flag to mark whether there's an entry in the RPC lock info response for given opsID. - var opsIDfound bool - for _, opsLockState := range locksInfoPerObject.LockDetailsOnObject { - // first check whether the entry for the given operation ID exists. - if opsLockState.OperationID == l.opsID { - opsIDfound = true - // asserting the type of lock (RLock/WLock) from the RPC lock info response. - if l.readLock { - if opsLockState.LockType != debugRLockStr { - t.Errorf("Test case %d: Expected the lock type to be \"%s\"", testNum, debugRLockStr) - } - } else { - if opsLockState.LockType != debugWLockStr { - t.Errorf("Test case %d: Expected the lock type to be \"%s\"", testNum, debugWLockStr) - } - } - - if opsLockState.Status != l.expectedLockStatus { - t.Errorf("Test case %d: Expected the status of the operation to be \"%s\", got \"%s\"", testNum, l.expectedLockStatus, opsLockState.Status) - } - - // all check satisfied, return here. - // Any mismatch in the earlier checks would have ended the tests due to `Fatalf`, - // control reaching here implies that all checks are satisfied. - return - } - } - // opsID not found. - // No entry for an operation with given operation ID exists. - if !opsIDfound { - t.Fatalf("Test case %d: Entry for OpsId: \"%s\" not found in : \"%s\", : \"%s\" doesn't exist in the RPC response", testNum, l.opsID, l.volume, l.path) - } - } - } - // No entry exists for given pair in the RPC response. - t.Errorf("Test case %d: Entry for : \"%s\", : \"%s\" doesn't exist in the RPC response", testNum, l.volume, l.path) - } -} - // Read entire state of the locks in the system and return. func getSystemLockState() (SystemLockState, error) { globalNSMutex.lockMapMutex.Lock() diff --git a/cmd/notify-webhook.go b/cmd/notify-webhook.go index d3da2b8ea..8a0556847 100644 --- a/cmd/notify-webhook.go +++ b/cmd/notify-webhook.go @@ -50,15 +50,6 @@ type httpConn struct { Endpoint string } -// List of success status. -var successStatus = []int{ - http.StatusOK, - http.StatusAccepted, - http.StatusContinue, - http.StatusNoContent, - http.StatusPartialContent, -} - // isNetErrorIgnored - is network error ignored. func isNetErrorIgnored(err error) bool { if err == nil { diff --git a/cmd/object_api_suite_test.go b/cmd/object_api_suite_test.go index 156965a04..318382d26 100644 --- a/cmd/object_api_suite_test.go +++ b/cmd/object_api_suite_test.go @@ -720,16 +720,6 @@ func testNonExistantObjectInBucket(obj ObjectLayer, instanceType string, c TestE } } -// Check if error type is ObjectNameInvalid. -func isErrObjectNameInvalid(err error) bool { - err = errorCause(err) - switch err.(type) { - case ObjectNameInvalid: - return true - } - return false -} - // Wrapper for calling testGetDirectoryReturnsObjectNotFound for both XL and FS. func (s *ObjectLayerAPISuite) TestGetDirectoryReturnsObjectNotFound(c *C) { ExecObjectLayerTest(c, testGetDirectoryReturnsObjectNotFound) diff --git a/cmd/storage-rpc-server_test.go b/cmd/storage-rpc-server_test.go index cbe4ed4fb..43bb873a0 100644 --- a/cmd/storage-rpc-server_test.go +++ b/cmd/storage-rpc-server_test.go @@ -23,8 +23,6 @@ import ( "github.com/minio/minio/pkg/disk" ) -const invalidToken = "invalidToken" - type testStorageRPCServer struct { configDir string token string diff --git a/cmd/test-utils_test.go b/cmd/test-utils_test.go index 00481b40c..5d0c1edb4 100644 --- a/cmd/test-utils_test.go +++ b/cmd/test-utils_test.go @@ -240,53 +240,6 @@ func UnstartedTestServer(t TestErrHandler, instanceType string) TestServer { // The generated certificate contains IP SAN, that way we don't need // to enable InsecureSkipVerify in TLS config -var testServerCertPEM = []byte(`-----BEGIN CERTIFICATE----- -MIIC9zCCAd+gAwIBAgIQV9ukx5ZahXeFygLXnR1WJTANBgkqhkiG9w0BAQsFADAS -MRAwDgYDVQQKEwdBY21lIENvMB4XDTE2MTExNTE1MDQxNFoXDTE3MTExNTE1MDQx -NFowEjEQMA4GA1UEChMHQWNtZSBDbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBALLDXunOVIipgtvPVpQxIBTzUpceUtLYrNKTCtYfLtvFCNSPAa2W2EAi -mW2WgtU+Wd+jFN2leG+lvyEp2n1YzBN12oOzAZMf39K2j05aO6vN68Pf/3w/h2qz -PDYFWbWBMS1vC6RosfaQc4VFZCkz89M1aonwj0K8FjOHG4pu7rKnVkluC0c4+Xpu -8rB652chx/h6wFZwscVqFZIarTte8Z1tcbRhbvpdkOV749Wn5i2umlrKpBgsBv22 -8jn115BK7E2mN0rlCYPuN312bFFSSE85NaSdOp06TjD+2Rv9jPKizvnFN+2ADEje -nlCaYe3VRybKPZLrxPcqFQoCQsO+8ZsCAwEAAaNJMEcwDgYDVR0PAQH/BAQDAgKk -MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0RBAgw -BocEfwAAATANBgkqhkiG9w0BAQsFAAOCAQEAsmNCixmx+srB93+Jz5t90zzCJN4O -5RDWh7X7D54xtRRZ/t9HLLLFKW9EqhAM17xee3C4eNCicOqHP/htEvLwt3BWFmya -djvIUQYfymx4GtBTfMH4eC5vYGdxSuTVNe7JGHMpJjArNe4vIlUHyj2n12aGDHUf -NKEiTR2m+6hiKEyym74vhxGnl208OFa4tAMv3J7BjEObE37oy/vH/getE0HwG/EL -feE4D2Pp9XqeMCg/sPZPoQgBuq3QsL2RdL8DQywb/HrApdLyfmN0avV5tmbrm0cL -/0NUqCWjJIIKF0XxZbqlkQsYK5zpDJ36MFXO65aF3QGOMP1rlBD3d0S6kw== ------END CERTIFICATE-----`) - -var testServerKeyPEM = []byte(`-----BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAssNe6c5UiKmC289WlDEgFPNSlx5S0tis0pMK1h8u28UI1I8B -rZbYQCKZbZaC1T5Z36MU3aV4b6W/ISnafVjME3Xag7MBkx/f0raPTlo7q83rw9// -fD+HarM8NgVZtYExLW8LpGix9pBzhUVkKTPz0zVqifCPQrwWM4cbim7usqdWSW4L -Rzj5em7ysHrnZyHH+HrAVnCxxWoVkhqtO17xnW1xtGFu+l2Q5Xvj1afmLa6aWsqk -GCwG/bbyOfXXkErsTaY3SuUJg+43fXZsUVJITzk1pJ06nTpOMP7ZG/2M8qLO+cU3 -7YAMSN6eUJph7dVHJso9kuvE9yoVCgJCw77xmwIDAQABAoIBAEE6CmLTd4LaHzZn -RBcUibk7Q5KCbQQkLYM0Rgr1G9ry3RL6D0mwtb1JIqSa+6gldROl5NIvM2/Bkajf -JasBAI3FPfM6GMP/KGMxW77iK823eGRjUkyavaWQOtMXRrF0r2X9k8jsrqrh8FTb -if2CyF/zqKkmTo+yI4Ovs7viWFR1IFBUHRwfYTTKnXA2q4S39knExALe1wWUkc4L -oOidewQ5IVCU3OQLWXP/beKoV/jw6+dOs5CYjXFsww6tdOsh+WkA9d3/rKPPtLdP -tDQiZtmI6FCYy/PdYqmzY0xg6dipGTDRfENUEx5SJu6HeSoUQUwEpQqnRxIu0iZl -FJ2ZziECgYEAzpdbIrFltGlSh7DIJfnQG86QeOw/nGluFTED9AweRAIzOYnUQCV3 -XCKMhFqmzsNpibEC1Cok92ZJk7bfsmPlx+qzL7BFpynA/gezxgc2wNZlWs8btPHi -s9h8hwL5If1FgAMD4E2iJtNgI/Kn5j8SDo/A5hAP1CXv12JRTB+pzlECgYEA3YQ6 -e2MLQYLDIcD5RoCrXOc9qo/l46uzo5laIuCKtd/IoOlip95kdgzpQC0/eenDLV9y -KLqAOZxZe+TVKtSOzVGy58FyD6L1oBJgfwuBku1x5ADRsIblq2uIOumDygRU0hMg -0tM3orIFGLyJU5hv6vC0x1ZdIGit0wP4ULhgKisCgYARJs3BLps0BD5+13V2eawG -cvrZnzuUv8gM6FncrBjjKo+YKlI91R54vsGNx3zr05tyfAixFqKlC4/2PIuL4vFT -zK99uRO/Uh8cuAT73uNz1RjrFiDFwANDTSjhiKSoZr+bZiSvPaLFuGzV7zJzUi8s -mFC6iQDXayLjbd00BbjyUQKBgHJD2R74sj+ywhFRR8S0brDXn5mx7LYKRfnoCvTe -uu6iZw2KFhfdwhibBF7UeF/c048+ItcbjTUqj4Y3PjZ/usHymMSvprSmLOnLUPd3 -6fjufsdMHN5gV2ybZYRuHEtC/LX4o//ccGB+T964smXqxiB81ePViuhC1xd4fsi0 -svZNAoGBALJOOR8ebtgATqc6jpnFxdqNmlwzAf/dH/jMZ6FZrttqIWiwxKvWaWPK -eHJtMmEPMustw/sv1GhDzwWmvgNFPzwEitPKW31m4EdbUCZFxPZ69/BtHTjXD3q3 -dP9W+omFXKQ36bVCB6xKmZH/ZVH5iQW0pdkD2JRnUPsDMNBeqmd6 ------END RSA PRIVATE KEY-----`) - // Starts the test server and returns the TestServer with TLS configured instance. func StartTestTLSServer(t TestErrHandler, instanceType string, cert, key []byte) TestServer { // Fetch TLS key and pem files from test-data/ directory. @@ -436,11 +389,6 @@ func resetGlobalNSLock() { } } -// reset global event notifier. -func resetGlobalEventNotifier() { - globalEventNotifier = nil -} - // reset Global event notifier. func resetGlobalEventnotify() { globalEventNotifier = nil @@ -1409,13 +1357,6 @@ func getPutNotificationURL(endPoint, bucketName string) string { return makeTestTargetURL(endPoint, bucketName, "", queryValue) } -// return URL for fetching bucket notification. -func getGetNotificationURL(endPoint, bucketName string) string { - queryValue := url.Values{} - queryValue.Set("notification", "") - return makeTestTargetURL(endPoint, bucketName, "", queryValue) -} - // return URL for inserting bucket policy. func getPutPolicyURL(endPoint, bucketName string) string { queryValue := url.Values{} diff --git a/cmd/xl-v1-utils_test.go b/cmd/xl-v1-utils_test.go index f25f5d749..de6bdb947 100644 --- a/cmd/xl-v1-utils_test.go +++ b/cmd/xl-v1-utils_test.go @@ -20,7 +20,6 @@ import ( "bytes" "encoding/hex" "encoding/json" - "errors" "reflect" "strconv" "testing" @@ -448,44 +447,3 @@ func TestEvalDisks(t *testing.T) { xl := objLayer.(*xlObjects) testShuffleDisks(t, xl) } - -func testEvalDisks(t *testing.T, xl *xlObjects) { - disks := xl.storageDisks - - diskErr := errors.New("some disk error") - errs := []error{ - diskErr, nil, nil, nil, - nil, diskErr, nil, nil, - diskErr, nil, nil, nil, - nil, nil, nil, diskErr, - } - - // Test normal setup with some disks - // returning errors - newDisks := evalDisks(disks, errs) - if newDisks[0] != nil || - newDisks[1] != disks[1] || - newDisks[2] != disks[2] || - newDisks[3] != disks[3] || - newDisks[4] != disks[4] || - newDisks[5] != nil || - newDisks[6] != disks[6] || - newDisks[7] != disks[7] || - newDisks[8] != nil || - newDisks[9] != disks[9] || - newDisks[10] != disks[10] || - newDisks[11] != disks[11] || - newDisks[12] != disks[12] || - newDisks[13] != disks[13] || - newDisks[14] != disks[14] || - newDisks[15] != nil { - t.Errorf("evalDisks returned incorrect new disk set.") - } - - // Test when number of errs doesn't match with number of disks - errs = []error{nil, nil, nil, nil} - newDisks = evalDisks(disks, errs) - if newDisks != nil { - t.Errorf("evalDisks returned no nil slice") - } -} diff --git a/pkg/disk/disk.go b/pkg/disk/disk.go index 28aba50dd..bb4d02ef9 100644 --- a/pkg/disk/disk.go +++ b/pkg/disk/disk.go @@ -29,11 +29,3 @@ type Info struct { Ffree uint64 FSType string } - -func b2s(bs []int8) string { - b := make([]byte, len(bs)) - for i, v := range bs { - b[i] = byte(v) - } - return string(b) -} diff --git a/pkg/madmin/lock-commands.go b/pkg/madmin/lock-commands.go index f21ff4602..edfc548bb 100644 --- a/pkg/madmin/lock-commands.go +++ b/pkg/madmin/lock-commands.go @@ -28,18 +28,8 @@ import ( type statusType string -const ( - runningStatus statusType = "Running" - blockedStatus statusType = "Blocked" -) - type lockType string -const ( - debugRLockStr lockType = "RLock" - debugWLockStr lockType = "WLock" -) - // OpsLockState - represents lock specific details. type OpsLockState struct { OperationID string `json:"id"` // String containing operation ID.