Patch title: Release 93 bulk changes
Abstract:
File: /linux/storage/partition.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/language/os.pli"
module "/pliant/admin/file.pli"
module "/pliant/admin/execute.pli"



module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/language/os.pli"
module "/pliant/admin/file.pli"
module "/pliant/admin/execute.pli"



function partition_tune partition tune
  arg Str partition tune
  # tune2fs will not accept to work if there is no /etc/mtab
  var CBool buggy := (file_query "file:/etc/mtab" standard)=failure
  if buggy
    (var Stream s) open "file:/etc/mtab" out+safe+mkdir ; s close 
  execute "tune2fs "+tune+" "+file_os_name:partition quiet
  if buggy
    file_delete "file:/etc/mtab" 
    file_delete "file:/etc/" 


function partition_journal partition on
  arg Str partition ; arg CBool on
  partition_tune partition "-O "+(shunt on "" "^")+"has_journal"


function partition_format partition fs options -> status
  arg Str partition fs options ; arg Status status
function partition_format partition fs options -> status
  arg Str partition fs options ; arg Status status
  if fs="" or fs="ext2"
  if fs="" or fs="ext2" or fs="ext3"
    var Str opt := " -F"
    if not (options option "nocheck")
      opt += " -c"
    if not (options option "standard")
      opt += " -b 4096 -O sparse_super"
    if (execute "mke2fs"+opt+" "+file_os_name:partition quie
      return failure
    if (options option "name" Str)<>""
    var Str opt := " -F"
    if not (options option "nocheck")
      opt += " -c"
    if not (options option "standard")
      opt += " -b 4096 -O sparse_super"
    if (execute "mke2fs"+opt+" "+file_os_name:partition quie
      return failure
    if (options option "name" Str)<>""
      execute "tune2fs -L "+(options option "name" Str)+" "+
      partition_tune partition "-L "+(options option "name" Str)
    if not (options option "notune")
    if not (options option "notune")
      execute "tune2fs -e remount-ro "+file_os_name:partitio
      partition_tune partition "-e remount-ro"
    if fs="ext3"
      partition_journal partition true
    status := success
  eif fs="xfs"
    if (execute "mkfs.xfs -f"+(shunt (options option "name" 
      return failure
    status := success
  eif fs="swap"
    (var Stream on) open "file:/proc/swaps" in+safe
    while not on:atend
      if (on:readline parse any:(var Str dev) _ any) and dev
        return failure    
    var Str opt := ""
    if not (options option "nocheck")
      opt += " -c"
    if (execute "mkswap"+opt+" "+file_os_name:partition quie
      return failure
    status := success
  else
    status := failure


export partition partition_create partition_format
    status := success
  eif fs="xfs"
    if (execute "mkfs.xfs -f"+(shunt (options option "name" 
      return failure
    status := success
  eif fs="swap"
    (var Stream on) open "file:/proc/swaps" in+safe
    while not on:atend
      if (on:readline parse any:(var Str dev) _ any) and dev
        return failure    
    var Str opt := ""
    if not (options option "nocheck")
      opt += " -c"
    if (execute "mkswap"+opt+" "+file_os_name:partition quie
      return failure
    status := success
  else
    status := failure


export partition partition_create partition_format
export partition_journal