Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 24 for storageapi (0.21 sec)

  1. cmd/erasure-metadata-utils.go

    // NewMultipartUpload metadata shuffling.
    func shuffleDisksAndPartsMetadataByIndex(disks []StorageAPI, metaArr []FileInfo, fi FileInfo) (shuffledDisks []StorageAPI, shuffledPartsMetadata []FileInfo) {
    	shuffledDisks = make([]StorageAPI, len(disks))
    	shuffledPartsMetadata = make([]FileInfo, len(disks))
    	distribution := fi.Erasure.Distribution
    
    	var inconsistent int
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 11.7K bytes
    - Viewed (0)
  2. cmd/erasure-healing-common.go

    // are set to nil.
    // - latest (in time) of the maximally occurring modTime(s), which has at least quorum occurrences.
    func listOnlineDisks(disks []StorageAPI, partsMetadata []FileInfo, errs []error, quorum int) (onlineDisks []StorageAPI, modTime time.Time, etag string) {
    	onlineDisks = make([]StorageAPI, len(disks))
    
    	// List all the file commit ids from parts metadata.
    	modTimes := listObjectModtimes(partsMetadata, errs)
    
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Mon Jun 10 15:51:27 UTC 2024
    - 12.5K bytes
    - Viewed (0)
  3. cmd/erasure.go

    // OfflineDisk represents an unavailable disk.
    var OfflineDisk StorageAPI // zero value is nil
    
    // erasureObjects - Implements ER object layer.
    type erasureObjects struct {
    	setDriveCount      int
    	defaultParityCount int
    
    	setIndex  int
    	poolIndex int
    
    	// getDisks returns list of storageAPIs.
    	getDisks func() []StorageAPI
    
    	// getLockers returns list of remote and local lockers.
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 16K bytes
    - Viewed (0)
  4. cmd/storage-rest_test.go

    )
    
    // Storage REST server, storageRESTReceiver and StorageRESTClient are
    // inter-dependent, below test functions are sufficient to test all of them.
    func testStorageAPIDiskInfo(t *testing.T, storage StorageAPI) {
    	testCases := []struct {
    		expectErr bool
    	}{
    		{true},
    	}
    
    	for i, testCase := range testCases {
    		_, err := storage.DiskInfo(context.Background(), DiskInfoOptions{Metrics: true})
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 11.4K bytes
    - Viewed (0)
  5. cmd/erasure-object_test.go

    			t.Fatalf("Test %d: Failed to upload a random object: %v", i+1, err)
    		}
    
    		// Step 3: Upload the object with some disks offline
    		sets.erasureDisksMu.Lock()
    		xl.getDisks = func() []StorageAPI {
    			disks := make([]StorageAPI, len(origErasureDisks))
    			copy(disks, origErasureDisks)
    			disks[0] = nil
    			disks[1] = nil
    			return disks
    		}
    		sets.erasureDisksMu.Unlock()
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Tue Jan 30 20:43:25 UTC 2024
    - 36.8K bytes
    - Viewed (0)
  6. cmd/format-erasure.go

    }
    
    // relinquishes the underlying connection for all storage disks.
    func closeStorageDisks(storageDisks ...StorageAPI) {
    	var wg sync.WaitGroup
    	for _, disk := range storageDisks {
    		if disk == nil {
    			continue
    		}
    		wg.Add(1)
    		go func(disk StorageAPI) {
    			defer wg.Done()
    			disk.Close()
    		}(disk)
    	}
    	wg.Wait()
    }
    
    // Initialize storage disks for each endpoint.
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 23.2K bytes
    - Viewed (0)
  7. cmd/erasure-sets.go

    				continue
    			}
    			diskMap[disk.Endpoint()] = disk
    		}
    	}
    	return diskMap
    }
    
    // Initializes a new StorageAPI from the endpoint argument, returns
    // StorageAPI and also `format` which exists on the disk.
    func connectEndpoint(endpoint Endpoint) (StorageAPI, *formatErasureV3, error) {
    	disk, err := newStorageAPI(endpoint, storageOpts{
    		cleanUp:     false,
    		healthCheck: false,
    	})
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Fri May 24 23:05:23 UTC 2024
    - 37.7K bytes
    - Viewed (0)
  8. cmd/metacache-set.go

    				commonCount = ops
    			}
    		}
    		if max < readQuorum {
    			return 0
    		}
    		return commonCount
    	}
    
    	return filter()
    }
    
    func getQuorumDiskInfos(disks []StorageAPI, infos []DiskInfo, readQuorum int) (newDisks []StorageAPI, newInfos []DiskInfo) {
    	commonMutations := calcCommonCounter(infos, readQuorum)
    	for i, info := range infos {
    		mutations := info.Metrics.TotalDeletes + info.Metrics.TotalWrites
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Fri Jun 07 22:18:44 UTC 2024
    - 30.4K bytes
    - Viewed (0)
  9. cmd/erasure-healing.go

    	}
    
    	return nil
    }
    
    // listAllBuckets lists all buckets from all disks. It also
    // returns the occurrence of each buckets in all disks
    func listAllBuckets(ctx context.Context, storageDisks []StorageAPI, healBuckets map[string]VolInfo, readQuorum int) error {
    	g := errgroup.WithNErrs(len(storageDisks))
    	var mu sync.Mutex
    	for index := range storageDisks {
    		index := index
    		g.Go(func() error {
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Mon Jun 10 15:51:27 UTC 2024
    - 33.8K bytes
    - Viewed (0)
  10. cmd/erasure-multipart.go

    			continue
    		}
    		wg.Add(1)
    		go func(disk StorageAPI) {
    			defer wg.Done()
    			disk.Delete(ctx, bucket, prefix, DeleteOptions{
    				Recursive: true,
    				Immediate: false,
    			})
    		}(disk)
    	}
    	wg.Wait()
    }
    
    // Remove the old multipart uploads on the given disk.
    func (er erasureObjects) cleanupStaleUploadsOnDisk(ctx context.Context, disk StorageAPI, expiry time.Duration) {
    	drivePath := disk.Endpoint().Path
    Registered: Sun Jun 16 00:44:34 UTC 2024
    - Last Modified: Thu Jun 13 06:56:12 UTC 2024
    - 44.8K bytes
    - Viewed (0)
Back to top