mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[performance] update storage backend and make use of seek syscall when available (#2924)
* update to use go-storage/ instead of go-store/v2/storage/
* pull in latest version from codeberg
* remove test output 😇
* add code comments
* set the exclusive bit when creating new files in disk config
* bump to actual release version
* bump to v0.1.1 (tis a simple no-logic change)
* update readme
* only use a temporary read seeker when decoding video if required (should only be S3 now)
* use fastcopy library to use memory pooled buffers when calling TempFileSeeker()
* update to use seek call in serveFileRange()
This commit is contained in:
38
vendor/codeberg.org/gruf/go-storage/block_test.archived
generated
vendored
Normal file
38
vendor/codeberg.org/gruf/go-storage/block_test.archived
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
package storage_test
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"codeberg.org/gruf/go-store/v2/storage"
|
||||
)
|
||||
|
||||
func TestBlockStorage(t *testing.T) {
|
||||
// Set test path, defer deleting it
|
||||
testPath := "blockstorage.test"
|
||||
t.Cleanup(func() {
|
||||
os.RemoveAll(testPath)
|
||||
})
|
||||
|
||||
// Open new blockstorage instance
|
||||
st, err := storage.OpenBlock(testPath, nil)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed opening storage: %v", err)
|
||||
}
|
||||
|
||||
// Attempt multi open of same instance
|
||||
_, err = storage.OpenBlock(testPath, nil)
|
||||
if err == nil {
|
||||
t.Fatal("Successfully opened a locked storage instance")
|
||||
}
|
||||
|
||||
// Run the storage tests
|
||||
testStorage(t, st)
|
||||
|
||||
// Test reopen storage path
|
||||
st, err = storage.OpenBlock(testPath, nil)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed opening storage: %v", err)
|
||||
}
|
||||
st.Close()
|
||||
}
|
Reference in New Issue
Block a user