33package jobobject
44
55import (
6+ "errors"
67 "fmt"
78 "unsafe"
89
910 "github.com/Microsoft/hcsshim/internal/winapi"
10- "github.com/pkg/errors"
1111 "golang.org/x/sys/windows"
1212)
1313
@@ -24,23 +24,23 @@ func (job *JobObject) SetResourceLimits(limits *JobLimits) error {
2424 // Go through and check what limits were specified and apply them to the job.
2525 if limits .MemoryLimitInBytes != 0 {
2626 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 )
2828 }
2929 }
3030
3131 if limits .CPULimit != 0 {
3232 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 )
3434 }
3535 } else if limits .CPUWeight != 0 {
3636 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 )
3838 }
3939 }
4040
4141 if limits .MaxBandwidth != 0 || limits .MaxIOPS != 0 {
4242 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 )
4444 }
4545 }
4646 return nil
@@ -208,7 +208,7 @@ func (job *JobObject) getExtendedInformation() (*windows.JOBOBJECT_EXTENDED_LIMI
208208 uint32 (unsafe .Sizeof (info )),
209209 nil ,
210210 ); 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 )
212212 }
213213 return & info , nil
214214}
@@ -230,7 +230,7 @@ func (job *JobObject) getCPURateControlInformation() (*winapi.JOBOBJECT_CPU_RATE
230230 uint32 (unsafe .Sizeof (info )),
231231 nil ,
232232 ); 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 )
234234 }
235235 return & info , nil
236236}
@@ -250,7 +250,7 @@ func (job *JobObject) setExtendedInformation(info *windows.JOBOBJECT_EXTENDED_LI
250250 uintptr (unsafe .Pointer (info )),
251251 uint32 (unsafe .Sizeof (* info )),
252252 ); 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 )
254254 }
255255 return nil
256256}
@@ -273,7 +273,7 @@ func (job *JobObject) getIOLimit() (*winapi.JOBOBJECT_IO_RATE_CONTROL_INFORMATIO
273273 & ioInfo ,
274274 & blockCount ,
275275 ); 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 )
277277 }
278278
279279 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
292292 }
293293
294294 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 )
296296 }
297297 return nil
298298}
@@ -311,7 +311,7 @@ func (job *JobObject) setCPURateControlInfo(cpuInfo *winapi.JOBOBJECT_CPU_RATE_C
311311 uintptr (unsafe .Pointer (cpuInfo )),
312312 uint32 (unsafe .Sizeof (cpuInfo )),
313313 ); 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 )
315315 }
316316 return nil
317317}
0 commit comments