# File lib/rudy/routines/handlers/disks.rb, line 227
227:     def format(rbox, disk, index)
228:       raise Rudy::Metadata::UnknownObject, disk.name unless disk.exists?
229:       disk.refresh!
230:       
231:       attach rbox, disk unless disk.volume_attached?
232:       
233:       raise Rudy::Disks::NotAttached, disk.name if !disk.volume_attached?
234:       
235:       unless @@global.force
236:         raise Rudy::Disks::AlreadyFormatted, disk.name if !disk.raw?
237:       end
238:       
239:       if disk.fstype.nil? || disk.fstype.empty?
240:         disk.fstype = rbox.stash.default_fstype
241:       end
242:       
243:       print "Creating #{disk.fstype} filesystem for #{disk.path}... "
244:       if rbox.stash.windows?
245:         li "(index: #{index})"
246:         windows_diskpart_partition rbox, disk, index
247:         disk.mounted = true
248:       else
249:         li $/
250:         args = [:t, disk.fstype, :F, disk.device]
251:         rbox.sudo do
252:           rudy_mkfs *args
253:         end
254:       end
255:       
256:       disk.raw = false
257:       disk.save :replace
258:       sleep 1
259:       disk
260:     end