@@ -62,8 +62,9 @@ func New() VolumeAPI {
6262}
6363
6464func getVolumeSize (volumeID string ) (int64 , error ) {
65- cmd := fmt .Sprintf ("(Get-Volume -UniqueId \" %s\" | Get-partition).Size" , volumeID )
66- out , err := utils .RunPowershellCmd (cmd )
65+ cmd := `(Get-Volume -UniqueId "$Env:volumeID" | Get-partition).Size`
66+ cmdEnv := fmt .Sprintf ("volumeID=%s" , volumeID )
67+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
6768
6869 if err != nil || len (out ) == 0 {
6970 return - 1 , fmt .Errorf ("error getting size of the partition from mount. cmd %s, output: %s, error: %v" , cmd , string (out ), err )
@@ -98,8 +99,9 @@ func (VolumeAPI) ListVolumesOnDisk(diskNumber uint32, partitionNumber uint32) (v
9899
99100// FormatVolume - Formats a volume with the NTFS format.
100101func (VolumeAPI ) FormatVolume (volumeID string ) (err error ) {
101- cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Format-Volume -FileSystem ntfs -Confirm:$false" , volumeID )
102- out , err := utils .RunPowershellCmd (cmd )
102+ cmd := `Get-Volume -UniqueId "$Env:volumeID" | Format-Volume -FileSystem ntfs -Confirm:$false`
103+ cmdEnv := fmt .Sprintf ("volumeID=%s" , volumeID )
104+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
103105 if err != nil {
104106 return fmt .Errorf ("error formatting volume. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
105107 }
@@ -114,8 +116,9 @@ func (VolumeAPI) WriteVolumeCache(volumeID string) (err error) {
114116
115117// IsVolumeFormatted - Check if the volume is formatted with the pre specified filesystem(typically ntfs).
116118func (VolumeAPI ) IsVolumeFormatted (volumeID string ) (bool , error ) {
117- cmd := fmt .Sprintf ("(Get-Volume -UniqueId \" %s\" -ErrorAction Stop).FileSystemType" , volumeID )
118- out , err := utils .RunPowershellCmd (cmd )
119+ cmd := `(Get-Volume -UniqueId "$Env:volumeID" -ErrorAction Stop).FileSystemType`
120+ cmdEnv := fmt .Sprintf ("volumeID=%s" , volumeID )
121+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
119122 if err != nil {
120123 return false , fmt .Errorf ("error checking if volume is formatted. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
121124 }
@@ -128,8 +131,12 @@ func (VolumeAPI) IsVolumeFormatted(volumeID string) (bool, error) {
128131
129132// MountVolume - mounts a volume to a path. This is done using the Add-PartitionAccessPath for presenting the volume via a path.
130133func (VolumeAPI ) MountVolume (volumeID , path string ) error {
131- cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Get-Partition | Add-PartitionAccessPath -AccessPath %s" , volumeID , path )
132- out , err := utils .RunPowershellCmd (cmd )
134+ cmd := `Get-Volume -UniqueId "$Env:volumeID" | Get-Partition | Add-PartitionAccessPath -AccessPath $Env:mountpath`
135+ cmdEnv := []string {}
136+ cmdEnv = append (cmdEnv , fmt .Sprintf ("volumeID=%s" , volumeID ))
137+ cmdEnv = append (cmdEnv , fmt .Sprintf ("mountpath=%s" , path ))
138+ out , err := utils .RunPowershellCmd (cmd , cmdEnv ... )
139+
133140 if err != nil {
134141 return fmt .Errorf ("error mount volume to path. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
135142 }
@@ -141,8 +148,13 @@ func (VolumeAPI) UnmountVolume(volumeID, path string) error {
141148 if err := writeCache (volumeID ); err != nil {
142149 return err
143150 }
144- cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Get-Partition | Remove-PartitionAccessPath -AccessPath %s" , volumeID , path )
145- out , err := utils .RunPowershellCmd (cmd )
151+
152+ cmd := `Get-Volume -UniqueId "$Env:volumeID" | Get-Partition | Remove-PartitionAccessPath -AccessPath $Env:mountpath`
153+ cmdEnv := []string {}
154+ cmdEnv = append (cmdEnv , fmt .Sprintf ("volumeID=%s" , volumeID ))
155+ cmdEnv = append (cmdEnv , fmt .Sprintf ("mountpath=%s" , path ))
156+ out , err := utils .RunPowershellCmd (cmd , cmdEnv ... )
157+
146158 if err != nil {
147159 return fmt .Errorf ("error getting driver letter to mount volume. cmd: %s, output: %s,error: %v" , cmd , string (out ), err )
148160 }
@@ -158,8 +170,9 @@ func (VolumeAPI) ResizeVolume(volumeID string, size int64) error {
158170 var finalSize int64
159171 var outString string
160172 if size == 0 {
161- cmd = fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Get-partition | Get-PartitionSupportedSize | Select SizeMax | ConvertTo-Json" , volumeID )
162- out , err := utils .RunPowershellCmd (cmd )
173+ cmd = `Get-Volume -UniqueId "$Env:volumeID" | Get-partition | Get-PartitionSupportedSize | Select SizeMax | ConvertTo-Json`
174+ cmdEnv := fmt .Sprintf ("volumeID=%s" , volumeID )
175+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
163176
164177 if err != nil || len (out ) == 0 {
165178 return fmt .Errorf ("error getting sizemin,sizemax from mount. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
@@ -190,8 +203,10 @@ func (VolumeAPI) ResizeVolume(volumeID string, size int64) error {
190203 return nil
191204 }
192205
193- cmd = fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Get-Partition | Resize-Partition -Size %d" , volumeID , finalSize )
194- out , err = utils .RunPowershellCmd (cmd )
206+ cmd = fmt .Sprintf (`Get-Volume -UniqueId "$Env:volumeID" | Get-Partition | Resize-Partition -Size %d` , finalSize )
207+ cmdEnv := []string {}
208+ cmdEnv = append (cmdEnv , fmt .Sprintf ("volumeID=%s" , volumeID ))
209+ out , err = utils .RunPowershellCmd (cmd , cmdEnv ... )
195210 if err != nil {
196211 return fmt .Errorf ("error resizing volume. cmd: %s, output: %s size:%v, finalSize %v, error: %v" , cmd , string (out ), size , finalSize , err )
197212 }
@@ -201,8 +216,9 @@ func (VolumeAPI) ResizeVolume(volumeID string, size int64) error {
201216// GetVolumeStats - retrieves the volume stats for a given volume
202217func (VolumeAPI ) GetVolumeStats (volumeID string ) (int64 , int64 , error ) {
203218 // get the size and sizeRemaining for the volume
204- cmd := fmt .Sprintf ("(Get-Volume -UniqueId \" %s\" | Select SizeRemaining,Size) | ConvertTo-Json" , volumeID )
205- out , err := utils .RunPowershellCmd (cmd )
219+ cmd := `(Get-Volume -UniqueId "$Env:volumeID" | Select SizeRemaining,Size) | ConvertTo-Json`
220+ cmdEnv := fmt .Sprintf ("volumeID=%s" , volumeID )
221+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
206222
207223 if err != nil {
208224 return - 1 , - 1 , fmt .Errorf ("error getting capacity and used size of volume. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
@@ -227,8 +243,9 @@ func (VolumeAPI) GetVolumeStats(volumeID string) (int64, int64, error) {
227243// GetDiskNumberFromVolumeID - gets the disk number where the volume is.
228244func (VolumeAPI ) GetDiskNumberFromVolumeID (volumeID string ) (uint32 , error ) {
229245 // get the size and sizeRemaining for the volume
230- cmd := fmt .Sprintf ("(Get-Volume -UniqueId \" %s\" | Get-Partition).DiskNumber" , volumeID )
231- out , err := utils .RunPowershellCmd (cmd )
246+ cmd := `(Get-Volume -UniqueId "$Env:volumeID" | Get-Partition).DiskNumber`
247+ cmdEnv := fmt .Sprintf ("volumeID=%s" , volumeID )
248+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
232249
233250 if err != nil || len (out ) == 0 {
234251 return 0 , fmt .Errorf ("error getting disk number. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
@@ -261,8 +278,9 @@ func (VolumeAPI) GetVolumeIDFromTargetPath(mount string) (string, error) {
261278}
262279
263280func getTarget (mount string ) (string , error ) {
264- cmd := fmt .Sprintf ("(Get-Item -Path %s).Target" , mount )
265- out , err := utils .RunPowershellCmd (cmd )
281+ cmd := `(Get-Item -Path $Env:mountpath).Target`
282+ cmdEnv := fmt .Sprintf ("mountpath=%s" , mount )
283+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
266284 if err != nil || len (out ) == 0 {
267285 return "" , fmt .Errorf ("error getting volume from mount. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
268286 }
@@ -352,8 +370,9 @@ func ensureVolumePrefix(volume string) string {
352370
353371// dereferenceSymlink dereferences the symlink `path` and returns the stdout.
354372func dereferenceSymlink (path string ) (string , error ) {
355- cmd := fmt .Sprintf (`(Get-Item -Path %s).Target` , path )
356- out , err := utils .RunPowershellCmd (cmd )
373+ cmd := `(Get-Item -Path $Env:linkpath).Target`
374+ cmdEnv := fmt .Sprintf ("linkpath=%s" , path )
375+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
357376 if err != nil {
358377 return "" , err
359378 }
@@ -368,8 +387,9 @@ func getVolumeForDriveLetter(path string) (string, error) {
368387 return "" , fmt .Errorf ("The path=%s is not a valid DriverLetter" , path )
369388 }
370389
371- cmd := fmt .Sprintf (`(Get-Partition -DriveLetter %s | Get-Volume).UniqueId` , path )
372- out , err := utils .RunPowershellCmd (cmd )
390+ cmd := `(Get-Partition -DriveLetter $Env:drivepath | Get-Volume).UniqueId`
391+ cmdEnv := fmt .Sprintf ("drivepath=%s" , path )
392+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
373393 if err != nil {
374394 return "" , err
375395 }
@@ -379,8 +399,9 @@ func getVolumeForDriveLetter(path string) (string, error) {
379399}
380400
381401func writeCache (volumeID string ) error {
382- cmd := fmt .Sprintf ("Get-Volume -UniqueId \" %s\" | Write-Volumecache" , volumeID )
383- out , err := utils .RunPowershellCmd (cmd )
402+ cmd := `Get-Volume -UniqueId "$Env:volumeID" | Write-Volumecache`
403+ cmdEnv := fmt .Sprintf ("volumeID=%s" , volumeID )
404+ out , err := utils .RunPowershellCmd (cmd , cmdEnv )
384405 if err != nil {
385406 return fmt .Errorf ("error writing volume cache. cmd: %s, output: %s, error: %v" , cmd , string (out ), err )
386407 }
0 commit comments