Feature: VdevTree rekursiv + Disk-Aktionen (Offline/Online/Detach/Clear)
- VdevTree rendert jetzt alle Ebenen (pool → mirror → sda/sdb) - Disk-⋮-Menü: Clear Disk Errors, Offline, Online, Detach - Backend: neue Endpoints /disk/offline, /disk/online, /disk/detach Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -233,6 +233,26 @@ export class ZFSManagerAPI {
|
||||
return response.data
|
||||
}
|
||||
|
||||
async diskOffline(poolName: string, disk: string): Promise<{ status: string }> {
|
||||
const response = await this.client.post(`/api/pools/${poolName}/disk/offline`, null, { params: { disk } })
|
||||
return response.data
|
||||
}
|
||||
|
||||
async diskOnline(poolName: string, disk: string): Promise<{ status: string }> {
|
||||
const response = await this.client.post(`/api/pools/${poolName}/disk/online`, null, { params: { disk } })
|
||||
return response.data
|
||||
}
|
||||
|
||||
async diskDetach(poolName: string, disk: string): Promise<{ status: string }> {
|
||||
const response = await this.client.post(`/api/pools/${poolName}/disk/detach`, null, { params: { disk } })
|
||||
return response.data
|
||||
}
|
||||
|
||||
async clearDiskErrors(poolName: string, disk: string): Promise<{ status: string }> {
|
||||
const response = await this.client.post(`/api/pools/${poolName}/clear`, null, { params: { disk } })
|
||||
return response.data
|
||||
}
|
||||
|
||||
// Datasets
|
||||
async getDatasets(pool: string = "tank"): Promise<Dataset[]> {
|
||||
const response = await this.client.get("/api/datasets/", { params: { pool } })
|
||||
|
||||
Reference in New Issue
Block a user