summaryrefslogtreecommitdiffstats
path: root/contrib/iscsi-destroy/main.go
blob: 0227c9df52c1f695d232e79c81b5909f616f295c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Source: https://github.com/open-iscsi/open-iscsi/issues/228#issuecomment-715770988

package main

import (
    "os"
    "fmt"
    "strconv"
    "github.com/u-root/iscsinl"
)

func main() {
   ipc, err := iscsinl.ConnectNetlink()

   if err != nil {
       fmt.Printf("Error connecting to netlink: %s\n", err)
       return
   }

   sid, _ := strconv.Atoi(os.Args[1])

   err = ipc.StopConnection(uint32(sid), 0)

   if err != nil {
       fmt.Printf("Error stopping connection: %s\n", err)
   }

   err = ipc.DestroyConnection(uint32(sid), 0)

   if err != nil {
       fmt.Printf("Error destroying connection: %s\n", err)
   }

   err = ipc.DestroySession(uint32(sid))

   if err != nil {
       fmt.Printf("Error destroying session: %s\n", err)
   }
}