3
3
package jobobject
4
4
5
5
import (
6
+ "errors"
6
7
"fmt"
7
8
"unsafe"
8
9
9
10
"github.com/Microsoft/hcsshim/internal/winapi"
10
- "github.com/pkg/errors"
11
11
"golang.org/x/sys/windows"
12
12
)
13
13
@@ -24,23 +24,23 @@ func (job *JobObject) SetResourceLimits(limits *JobLimits) error {
24
24
// Go through and check what limits were specified and apply them to the job.
25
25
if limits .MemoryLimitInBytes != 0 {
26
26
if err := job .SetMemoryLimit (limits .MemoryLimitInBytes ); err != nil {
27
- return errors . Wrap ( err , "failed to set job object memory limit" )
27
+ return fmt . Errorf ( "failed to set job object memory limit: %w" , err )
28
28
}
29
29
}
30
30
31
31
if limits .CPULimit != 0 {
32
32
if err := job .SetCPULimit (RateBased , limits .CPULimit ); err != nil {
33
- return errors . Wrap ( err , "failed to set job object cpu limit" )
33
+ return fmt . Errorf ( "failed to set job object cpu limit: %w" , err )
34
34
}
35
35
} else if limits .CPUWeight != 0 {
36
36
if err := job .SetCPULimit (WeightBased , limits .CPUWeight ); err != nil {
37
- return errors . Wrap ( err , "failed to set job object cpu limit" )
37
+ return fmt . Errorf ( "failed to set job object cpu limit: %w" , err )
38
38
}
39
39
}
40
40
41
41
if limits .MaxBandwidth != 0 || limits .MaxIOPS != 0 {
42
42
if err := job .SetIOLimit (limits .MaxBandwidth , limits .MaxIOPS ); err != nil {
43
- return errors . Wrap ( err , "failed to set io limit on job object" )
43
+ return fmt . Errorf ( "failed to set io limit on job object: %w" , err )
44
44
}
45
45
}
46
46
return nil
@@ -208,7 +208,7 @@ func (job *JobObject) getExtendedInformation() (*windows.JOBOBJECT_EXTENDED_LIMI
208
208
uint32 (unsafe .Sizeof (info )),
209
209
nil ,
210
210
); err != nil {
211
- return nil , errors . Wrapf ( err , "query %v returned error" , info )
211
+ return nil , fmt . Errorf ( "query %v returned error: %w " , info , err )
212
212
}
213
213
return & info , nil
214
214
}
@@ -230,7 +230,7 @@ func (job *JobObject) getCPURateControlInformation() (*winapi.JOBOBJECT_CPU_RATE
230
230
uint32 (unsafe .Sizeof (info )),
231
231
nil ,
232
232
); err != nil {
233
- return nil , errors . Wrapf ( err , "query %v returned error" , info )
233
+ return nil , fmt . Errorf ( "query %v returned error: %w " , info , err )
234
234
}
235
235
return & info , nil
236
236
}
@@ -250,7 +250,7 @@ func (job *JobObject) setExtendedInformation(info *windows.JOBOBJECT_EXTENDED_LI
250
250
uintptr (unsafe .Pointer (info )),
251
251
uint32 (unsafe .Sizeof (* info )),
252
252
); err != nil {
253
- return errors . Wrapf ( err , "failed to set Extended info %v on job object" , info )
253
+ return fmt . Errorf ( "failed to set Extended info %v on job object: %w " , info , err )
254
254
}
255
255
return nil
256
256
}
@@ -273,7 +273,7 @@ func (job *JobObject) getIOLimit() (*winapi.JOBOBJECT_IO_RATE_CONTROL_INFORMATIO
273
273
& ioInfo ,
274
274
& blockCount ,
275
275
); err != nil {
276
- return nil , errors . Wrapf ( err , "query %v returned error" , ioInfo )
276
+ return nil , fmt . Errorf ( "query %v returned error: %w " , ioInfo , err )
277
277
}
278
278
279
279
if ! isFlagSet (winapi .JOB_OBJECT_IO_RATE_CONTROL_ENABLE , ioInfo .ControlFlags ) {
@@ -292,7 +292,7 @@ func (job *JobObject) setIORateControlInfo(ioInfo *winapi.JOBOBJECT_IO_RATE_CONT
292
292
}
293
293
294
294
if _ , err := winapi .SetIoRateControlInformationJobObject (job .handle , ioInfo ); err != nil {
295
- return errors . Wrapf ( err , "failed to set IO limit info %v on job object" , ioInfo )
295
+ return fmt . Errorf ( "failed to set IO limit info %v on job object: %w " , ioInfo , err )
296
296
}
297
297
return nil
298
298
}
@@ -311,7 +311,7 @@ func (job *JobObject) setCPURateControlInfo(cpuInfo *winapi.JOBOBJECT_CPU_RATE_C
311
311
uintptr (unsafe .Pointer (cpuInfo )),
312
312
uint32 (unsafe .Sizeof (cpuInfo )),
313
313
); err != nil {
314
- return errors . Wrapf ( err , "failed to set cpu limit info %v on job object" , cpuInfo )
314
+ return fmt . Errorf ( "failed to set cpu limit info %v on job object: %w " , cpuInfo , err )
315
315
}
316
316
return nil
317
317
}
0 commit comments