home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / include / partitioning / target_modify.ycp < prev   
Text File  |  2006-11-29  |  2KB  |  82 lines

  1. /**
  2.  * Module:        target_modify.ycp
  3.  *
  4.  * Authors:        Thomas Fehr (fehr@suse.de)
  5.  *            Michael Hager (mike@suse.de)
  6.  *
  7.  * Purpose:
  8.  * Start of new disk preparation
  9.  *
  10.  *
  11.  *
  12.  * $Id: target_modify.ycp 24036 2005-07-14 12:16:17Z arvin $
  13.  */
  14.  
  15. {
  16.  
  17. textdomain "storage";
  18.  
  19. import "Directory";
  20. import "Label";
  21. import "Partitions";
  22. import "Storage";
  23.  
  24. define void RemoveUsedNonEvmsDm( map<string,map> target )
  25.     ``{
  26.     boolean ret = true;
  27.     map<string,map> tg = filter( string k, map e, target, 
  28.                                  ``(find(k,"/dev/evms")!=0));
  29.     y2milestone( "RemoveUsedNonEvmsDm tg %1", tg );
  30.     list<map> dlist = [];
  31.     foreach( string k, map e, tg,
  32.     ``{
  33.     foreach( map p, e["partitions"]:[],
  34.         ``{
  35.         if( size(p["mount"]:"")>0 ||
  36.         p["used_by_type"]:`UB_NONE==`UB_NONE ||
  37.         p["used_by_type"]:`UB_NONE==`UB_EVMS )
  38.         {
  39.         dlist = add( dlist, p );
  40.         }
  41.         });
  42.     });
  43.     y2milestone( "RemoveUsedNonEvmsDm dlist %1", dlist );
  44.     foreach( map p, dlist,
  45.     ``{
  46.     string dmmap = substring( p["device"]:"", 5 );
  47.     string cmd = sformat( "dmsetup info %1", dmmap );
  48.     y2milestone( "RemoveUsedNonEvmsDm executed %1 ret %2", cmd,
  49.                  SCR::Execute( .target.bash_output, cmd ));
  50.     cmd = sformat( "dmsetup remove %1", dmmap );
  51.     y2milestone( "RemoveUsedNonEvmsDm executed %1 ret %2", cmd,
  52.                  SCR::Execute( .target.bash_output, cmd ));
  53.     });
  54.     y2milestone( "RemoveUsedNonEvmsDm %1",
  55.          SCR::Execute( .target.bash_output, "/sbin/dmsetup ls" ));
  56.     }
  57.  
  58. define map<integer,map> HandleDeletedVgs( map<string,map> tg, 
  59.                       map<integer,map> modify_targets )
  60.     ``{
  61.     y2milestone( "HandleDeletedVgs mod %1", modify_targets );
  62.     tg = filter( string dev, map disk, tg,
  63.          ``(disk["type"]:`CT_UNKNOWN==`CT_LVM&&disk["delete"]:false));
  64.     y2milestone( "HandleDeletedVgs tg %1", tg );
  65.     foreach( string device, map disk, tg,
  66.     ``{
  67.     if( size( filter( integer n, map p, modify_targets,
  68.                       ``(p["type"]:""=="remove_vg" &&
  69.                  p["vgname"]:""==substring(device,5))))==0 )
  70.         {
  71.         modify_targets[size(modify_targets)+1] = 
  72.         $[ "use_module" : "lvm_ll",
  73.            "type"       : "remove_vg",
  74.            "vgname"     : substring(device,5) ];
  75.         }
  76.     });
  77.     y2milestone( "HandleDeletedVgs ret %1", modify_targets );
  78.     return( modify_targets );
  79.     }
  80.  
  81. }
  82.