@@ -20,6 +20,7 @@ package device
2020
2121import (
2222 "errors"
23+ "fmt"
2324 "os"
2425
2526 "github.com/minio/directpv/pkg/sys"
@@ -52,31 +53,31 @@ func newDevice(
5253 }
5354
5455 if device .Size , err = getSize (name ); err != nil {
55- return nil , err
56+ return nil , fmt . Errorf ( "unable to get size; device=%v; err=%w" , name , err )
5657 }
5758
5859 device .Hidden = getHidden (name )
5960
6061 if device .Removable , err = getRemovable (name ); err != nil {
61- return nil , err
62+ return nil , fmt . Errorf ( "unable to get removable flag; device=%v; err=%w" , name , err )
6263 }
6364
6465 if device .ReadOnly , err = getReadOnly (name ); err != nil {
65- return nil , err
66+ return nil , fmt . Errorf ( "unable to get read-only flag; device=%v; err=%w" , name , err )
6667 }
6768
6869 if device .Holders , err = getHolders (name ); err != nil {
69- return nil , err
70+ return nil , fmt . Errorf ( "unable to get holders; device=%v; %w" , name , err )
7071 }
7172
7273 partitions , err := getPartitions (name )
7374 if err != nil {
74- return nil , err
75+ return nil , fmt . Errorf ( "unable to get partition info; device=%v; err=%w" , name , err )
7576 }
7677 device .Partitioned = len (partitions ) != 0
7778
7879 if device .DMName , err = getDMName (name ); err != nil {
79- return nil , err
80+ return nil , fmt . Errorf ( "unable to get DM name; device=%v; err=%w" , name , err )
8081 }
8182
8283 return device , nil
@@ -85,22 +86,22 @@ func newDevice(
8586func probe () (devices []Device , err error ) {
8687 deviceMap , udevDataMap , err := probeFromUdev ()
8788 if err != nil {
88- return nil , err
89+ return nil , fmt . Errorf ( "unable to probe from udev; %w" , err )
8990 }
9091
9192 _ , deviceMountMap , majorMinorMap , _ , err := sys .GetMounts (true )
9293 if err != nil {
93- return nil , err
94+ return nil , fmt . Errorf ( "unable to get mounts; %w" , err )
9495 }
9596
9697 cdroms , err := getCDROMs ()
9798 if err != nil {
98- return nil , err
99+ return nil , fmt . Errorf ( "unable to get CDROM information; %w" , err )
99100 }
100101
101102 swaps , err := getSwaps ()
102103 if err != nil {
103- return nil , err
104+ return nil , fmt . Errorf ( "unable to get swap information; %w" , err )
104105 }
105106
106107 for name , udevData := range udevDataMap {
@@ -117,17 +118,17 @@ func probe() (devices []Device, err error) {
117118func probeDevices (majorMinor ... string ) (devices []Device , err error ) {
118119 _ , deviceMountMap , majorMinorMap , _ , err := sys .GetMounts (true )
119120 if err != nil {
120- return nil , err
121+ return nil , fmt . Errorf ( "unable to get mounts; %w" , err )
121122 }
122123
123124 cdroms , err := getCDROMs ()
124125 if err != nil {
125- return nil , err
126+ return nil , fmt . Errorf ( "unable to get CDROM information; %w" , err )
126127 }
127128
128129 swaps , err := getSwaps ()
129130 if err != nil {
130- return nil , err
131+ return nil , fmt . Errorf ( "unable to get swap information; %w" , err )
131132 }
132133
133134 for i := range majorMinor {
@@ -137,12 +138,12 @@ func probeDevices(majorMinor ...string) (devices []Device, err error) {
137138 continue
138139 }
139140
140- return nil , err
141+ return nil , fmt . Errorf ( "unable to read udev data; majorminor=%v; err=%w" , majorMinor [ i ], err )
141142 }
142143
143144 name , err := getDeviceName (majorMinor [i ])
144145 if err != nil {
145- return nil , err
146+ return nil , fmt . Errorf ( "unable to get device name; majorminor=%v; err=%w" , majorMinor [ i ], err )
146147 }
147148
148149 device , err := newDevice (deviceMountMap , majorMinorMap , cdroms , swaps , name , majorMinor [i ], udevData )
0 commit comments