Hello community, here is the log from the commit of package yast2-storage for openSUSE:Factory checked in at 2013-04-03 23:46:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-storage (Old) and /work/SRC/openSUSE:Factory/.yast2-storage.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-storage", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-storage/yast2-storage.changes 2013-03-05 16:38:01.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-storage.new/yast2-storage.changes 2013-04-03 23:46:56.000000000 +0200 @@ -1,0 +2,28 @@ +Tue Mar 26 13:00:10 CET 2013 - [email protected] + +- allow mountby id in /etc/fstab for md devices (bnc#811619) + +------------------------------------------------------------------- +Wed Mar 20 16:37:24 CET 2013 - [email protected] + +- use consistent wording in messages (bnc#808541) + +------------------------------------------------------------------- +Tue Mar 19 18:41:08 CET 2013 - [email protected] + +- give more meaningful error message when resize is not supported + by underlying partition, e.g. on DASD (bnc#808721) + +------------------------------------------------------------------- +Thu Mar 14 14:50:41 CET 2013 - [email protected] + +- version 2.24.0 +- do not suggest to format /boot/efi in fstab import (bnc#809853) +- button to demand swap suited for suspend to proposal (bnc#809190) + +------------------------------------------------------------------- +Tue Mar 12 14:20:20 CET 2013 - [email protected] + +- do not use codepage= option when mounting EFI boot (bnc#808028) + +------------------------------------------------------------------- Old: ---- yast2-storage-2.23.9.tar.bz2 New: ---- yast2-storage-2.24.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-storage.spec ++++++ --- /var/tmp/diff_new_pack.YTE8s7/_old 2013-04-03 23:46:57.000000000 +0200 +++ /var/tmp/diff_new_pack.YTE8s7/_new 2013-04-03 23:46:57.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-storage -Version: 2.23.9 +Version: 2.24.0 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-storage-2.23.9.tar.bz2 -> yast2-storage-2.24.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/VERSION new/yast2-storage-2.24.0/VERSION --- old/yast2-storage-2.23.9/VERSION 2013-03-05 12:13:35.000000000 +0100 +++ new/yast2-storage-2.24.0/VERSION 2013-03-14 18:18:30.000000000 +0100 @@ -1 +1 @@ -2.23.9 +2.24.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/configure new/yast2-storage-2.24.0/configure --- old/yast2-storage-2.23.9/configure 2013-03-05 12:37:37.000000000 +0100 +++ new/yast2-storage-2.24.0/configure 2013-03-26 17:48:54.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for yast2-storage 2.23.9. +# Generated by GNU Autoconf 2.69 for yast2-storage 2.24.0. # # Report bugs to <http://bugs.opensuse.org/>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='yast2-storage' PACKAGE_TARNAME='yast2-storage' -PACKAGE_VERSION='2.23.9' -PACKAGE_STRING='yast2-storage 2.23.9' +PACKAGE_VERSION='2.24.0' +PACKAGE_STRING='yast2-storage 2.24.0' PACKAGE_BUGREPORT='http://bugs.opensuse.org/' PACKAGE_URL='' @@ -1380,7 +1380,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures yast2-storage 2.23.9 to adapt to many kinds of systems. +\`configure' configures yast2-storage 2.24.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1451,7 +1451,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of yast2-storage 2.23.9:";; + short | recursive ) echo "Configuration of yast2-storage 2.24.0:";; esac cat <<\_ACEOF @@ -1569,7 +1569,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -yast2-storage configure 2.23.9 +yast2-storage configure 2.24.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2022,7 +2022,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by yast2-storage $as_me 2.23.9, which was +It was created by yast2-storage $as_me 2.24.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2961,7 +2961,7 @@ # Define the identity of the package. PACKAGE='yast2-storage' - VERSION='2.23.9' + VERSION='2.24.0' cat >>confdefs.h <<_ACEOF @@ -3084,7 +3084,7 @@ -VERSION="2.23.9" +VERSION="2.24.0" RPMNAME="yast2-storage" MAINTAINER="Arvin Schnell <[email protected]>" @@ -16825,7 +16825,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by yast2-storage $as_me 2.23.9, which was +This file was extended by yast2-storage $as_me 2.24.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16891,7 +16891,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -yast2-storage config.status 2.23.9 +yast2-storage config.status 2.24.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/configure.in new/yast2-storage-2.24.0/configure.in --- old/yast2-storage-2.23.9/configure.in 2013-03-05 12:37:27.000000000 +0100 +++ new/yast2-storage-2.24.0/configure.in 2013-03-26 17:48:42.000000000 +0100 @@ -3,7 +3,7 @@ dnl -- This file is generated by y2autoconf 2.23.2 - DO NOT EDIT! -- dnl (edit configure.in.in instead) -AC_INIT(yast2-storage, 2.23.9, http://bugs.opensuse.org/, yast2-storage) +AC_INIT(yast2-storage, 2.24.0, http://bugs.opensuse.org/, yast2-storage) dnl Check for presence of file 'RPMNAME' AC_CONFIG_SRCDIR([RPMNAME]) @@ -18,7 +18,7 @@ AM_INIT_AUTOMAKE(tar-ustar -Wno-portability) dnl Important YaST2 variables -VERSION="2.23.9" +VERSION="2.24.0" RPMNAME="yast2-storage" MAINTAINER="Arvin Schnell <[email protected]>" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/auto_part_create.ycp new/yast2-storage-2.24.0/storage/src/include/auto_part_create.ycp --- old/yast2-storage-2.23.9/storage/src/include/auto_part_create.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/auto_part_create.ycp 2013-03-14 18:06:37.000000000 +0100 @@ -107,7 +107,8 @@ } else { - partitions = StorageProposal::get_proposal( size(r)>0, disk ); + boolean have_swap = size(r)>0 && !StorageProposal::GetProposalSuspend(); + partitions = StorageProposal::get_proposal( have_swap, disk ); } } y2milestone( "create_partitions %1", partitions ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/auto_part_prepare.ycp new/yast2-storage-2.24.0/storage/src/include/auto_part_prepare.ycp --- old/yast2-storage-2.23.9/storage/src/include/auto_part_prepare.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/auto_part_prepare.ycp 2013-03-14 18:06:37.000000000 +0100 @@ -48,7 +48,7 @@ bytes_per_unit, disk_size ); integer size_of_boot = Partitions::ProposedBootsize(); - integer size_of_swap = 1024 * 1024 * Partitions::SwapSizeMb(0); + integer size_of_swap = 1024 * 1024 * Partitions::SwapSizeMb(0,StorageProposal::GetProposalSuspend()); // The minimum size needed to install a default system integer required_size = 1500 * 1024 * 1024 + size_of_boot + size_of_swap; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/custom_part_check_generated.ycp new/yast2-storage-2.24.0/storage/src/include/custom_part_check_generated.ycp --- old/yast2-storage-2.23.9/storage/src/include/custom_part_check_generated.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/custom_part_check_generated.ycp 2013-03-14 18:06:37.000000000 +0100 @@ -213,7 +213,8 @@ } if( !part["format"]:false && part["used_fs"]:`unknown!=`nfs && - FileSystems::IsSystemMp( part["mount"]:"", false ) ) + FileSystems::IsSystemMp( part["mount"]:"", false ) && + part["mount"]:""!="/boot/efi" ) { partition_mounted_but_not_formated = true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/custom_part_dialogs.ycp new/yast2-storage-2.24.0/storage/src/include/custom_part_dialogs.ycp --- old/yast2-storage-2.23.9/storage/src/include/custom_part_dialogs.ycp 2013-02-28 12:41:35.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/custom_part_dialogs.ycp 2013-03-26 13:06:36.000000000 +0100 @@ -627,7 +627,8 @@ FileSystems::MountUuid( new["used_fs"]:`unknown ) && new["enc_type"]:`none==`none; tmp = contains(mountby_id_path_type, new["type"]:`none); - enab[`id] = tmp && size(new["udev_id"]:[])>0; + enab[`id] = (tmp && size(new["udev_id"]:[])>0) || + substring(new["device"]:"",0,7)=="/dev/md"; enab[`path] = tmp && size(new["udev_path"]:"")>0; y2milestone( "FstabOptions enab %1", enab ); UI::ChangeWidget( `id(`label), `Enabled, enab[`label]:false ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/ep-dialogs.ycp new/yast2-storage-2.24.0/storage/src/include/ep-dialogs.ycp --- old/yast2-storage-2.23.9/storage/src/include/ep-dialogs.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/ep-dialogs.ycp 2013-03-20 12:16:36.000000000 +0100 @@ -661,15 +661,25 @@ map<string, boolean> possible = Storage::IsResizable(data); y2milestone( "DlgResize data: %1", data ); - if (!data["format"]:false && !possible["shrink"]:false && !possible["extend"]:false) - { + string txt=""; + if( !possible["device"]:true ) + { // popup text - Popup::Message(_(" + txt = _("Resize not supported by underlying device."); + } + else if (!data["format"]:false && !possible["shrink"]:false && !possible["extend"]:false) + { + // popup text + txt = _(" You cannot resize the selected partition because the file system on this partition does not support resizing. -")); +"); + } + if( !isempty(txt) ) + { + Popup::Message(txt); return false; - } + } integer cyl_size = 0; integer free_cyl_after = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/ep-graph.ycp new/yast2-storage-2.24.0/storage/src/include/ep-graph.ycp --- old/yast2-storage-2.23.9/storage/src/include/ep-graph.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/ep-graph.ycp 2013-03-20 16:41:37.000000000 +0100 @@ -63,7 +63,7 @@ `Graph(`id(`graph), `opt(`notify, `notifyContextMenu), filename, "dot"), `HBox( // button text - `PushButton(`id(`export), _("Export Device Graph...")), + `PushButton(`id(`save), _("Save Device Graph...")), `HStretch() ) )) @@ -124,7 +124,7 @@ } break; - case `export: + case `save: { string filename = UI::AskForSaveFileName("/tmp", "*.gv", "Save as..."); if (filename != nil) @@ -155,7 +155,7 @@ `Graph(`id(`graph), `opt(`notify, `notifyContextMenu), filename, "dot"), `HBox( // button text - `PushButton(`id(`export), _("Export Mount Graph...")), + `PushButton(`id(`save), _("Save Mount Graph...")), `HStretch() ) )) @@ -198,7 +198,7 @@ } break; - case `export: + case `save: { string filename = UI::AskForSaveFileName("/tmp", "*.gv", "Save as..."); if (filename != nil) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/ep-import.ycp new/yast2-storage-2.24.0/storage/src/include/ep-import.ycp --- old/yast2-storage-2.23.9/storage/src/include/ep-import.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/ep-import.ycp 2013-03-14 18:06:37.000000000 +0100 @@ -213,7 +213,7 @@ if (dev_fstab == part_device) { partition["mount"] = mount_fstab; - if (format_sys && FileSystems::IsSystemMp(mount_fstab, false)) + if (format_sys && FileSystems::IsSystemMp(mount_fstab, false) && mount_fstab!="/boot/efi") partition["format"] = true; if (format_sys && partition["mount"]:"" == "/" && partition["detected_fs"]:`unknown == `BTRFS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/include/ep-lvm-dialogs.ycp new/yast2-storage-2.24.0/storage/src/include/ep-lvm-dialogs.ycp --- old/yast2-storage-2.23.9/storage/src/include/ep-lvm-dialogs.ycp 2013-02-18 15:26:56.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/include/ep-lvm-dialogs.ycp 2013-03-21 15:16:35.000000000 +0100 @@ -714,8 +714,10 @@ // ChangeVolumeProperties and thus addLogicalVolume need the device data["device"] = "/dev/" + vg_name + "/" + data["name"]:""; - data = remove( data, "used_pool" ); - data = remove( data, "pool" ); + if( haskey(data, "used_pool")) + data = remove( data, "used_pool" ); + if( haskey(data, "pool")) + data = remove( data, "pool" ); if( (boolean)UI::QueryWidget(`id(`pool), `Value) ) data["pool"] = true; if( (boolean)UI::QueryWidget(`id(`thin), `Value) ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/inst_disk_proposal.ycp new/yast2-storage-2.24.0/storage/src/inst_disk_proposal.ycp --- old/yast2-storage-2.23.9/storage/src/inst_disk_proposal.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/inst_disk_proposal.ycp 2013-03-14 18:06:37.000000000 +0100 @@ -162,6 +162,17 @@ } } +boolean EnableSuspend() + { + list swaps = Storage::GetCreatedSwaps(); + integer susps = Partitions::SwapSizeMb(0,true); + boolean ret = size(swaps)==1 && swaps[0,"size_k"]:0/1024<susps; + ret = ret || StorageProposal::GetProposalSuspend(); + y2milestone( "EnableSuspend csw:%1 swsize:%2 suspsize:%3 ret:%4", + size(swaps), swaps[0,"size_k"]:0/1024, susps, ret ); + return( ret ); + } + map<string,map> targetMap = Storage::GetTargetMap(); if( Mode::test() && size(targetMap)==0 ) @@ -307,6 +318,7 @@ Wizard::SetTitleIcon( "yast-partitioning" ); UI::ChangeWidget(`id(`encrypt), `Enabled, StorageProposal::GetProposalLvm()); + UI::ChangeWidget(`id(`suspend), `Enabled, EnableSuspend() ); repeat { @@ -318,7 +330,7 @@ if( ret == `abort && Popup::ReallyAbort(true) ) return `abort; - if( contains( [ `lvm, `home, `btrfs, `encrypt ], ret ) ) + if( contains( [ `lvm, `home, `btrfs, `encrypt, `suspend ], ret ) ) { val = (boolean) UI::QueryWidget(`id(ret), `Value); if( AskOverwriteChanges() ) @@ -405,6 +417,9 @@ StorageProposal::GetProposalHome() ); UI::ChangeWidget(`id(`btrfs), `Value, StorageProposal::GetProposalBtrfs() ); + UI::ChangeWidget(`id(`suspend), `Value, + StorageProposal::GetProposalSuspend() ); + UI::ChangeWidget(`id(`suspend), `Enabled, EnableSuspend() ); } } until ( ret == `next || ret == `back || ret == `cancel ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/inst_target_part.ycp new/yast2-storage-2.24.0/storage/src/inst_target_part.ycp --- old/yast2-storage-2.23.9/storage/src/inst_target_part.ycp 2013-01-22 12:12:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/inst_target_part.ycp 2013-03-14 18:06:37.000000000 +0100 @@ -237,6 +237,10 @@ UI::ChangeWidget( `id(`full), `Enabled, false ); UI::ChangeWidget(`id(`encrypt), `Enabled, (boolean) UI::QueryWidget(`id(`lvm), `Value)); + boolean susp_enab = Partitions::SwapSizeMb(0,false)<Partitions::SwapSizeMb(0,true); + if( !susp_enab ) + UI::ChangeWidget(`id(`suspend), `Value, false ); + UI::ChangeWidget(`id(`suspend), `Enabled, susp_enab ); // Event handling @@ -253,7 +257,7 @@ { break; } - else if( contains( [ `lvm, `home, `btrfs, `encrypt ], ret ) ) + else if( contains( [ `lvm, `home, `btrfs, `encrypt, `suspend ], ret ) ) { StorageProposal::HandleCommonWidgets(ret); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/modules/FileSystems.ycp new/yast2-storage-2.24.0/storage/src/modules/FileSystems.ycp --- old/yast2-storage-2.23.9/storage/src/modules/FileSystems.ycp 2013-02-12 13:46:35.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/modules/FileSystems.ycp 2013-03-26 12:28:54.000000000 +0100 @@ -347,7 +347,7 @@ ``{ map<symbol,any> opt = $[ // label text - `widget : `TextEntry(`id("opt_arbitrary"), _("Arbitrary Option &Value"), ""), + `widget : `TextEntry(`id("opt_arbitrary"), `opt(`hstretch), _("Arbitrary Option &Value"), ""), `query_key : "opt_arbitrary", `invalid_chars : "\t ", `error_text : _("Invalid characters in arbitrary option value. Do not use spaces or tabs. Try again."), @@ -1322,10 +1322,11 @@ global define boolean IsSystemMp( string mount, boolean prefix ) ``{ - boolean ret = contains( system_m_points(), mount ); + list<string> mp = (list<string>)union(system_m_points(),["/boot"]); + boolean ret = contains( mp, mount ); if( !ret && prefix ) { - list<string> mp = filter(string s, system_m_points(), ``(s!="/") ); + mp = filter(string s, mp, ``(s!="/") ); foreach(string s, mp, ``{ ret = ret || search( mount, s + "/" )==0; @@ -1396,7 +1397,8 @@ else if( !Arch::ia64() && contains( [`vfat, `ntfs], fsys ) ) { fst_default = ""; - if( substring(part["mount"]:"",0,5)!="/boot" ) + boolean is_boot = substring(part["mount"]:"",0,5)=="/boot"; + if( !is_boot ) fst_default = "users,gid=users"; string enc = LangTypicalEncoding(); string code = Encoding::GetCodePage(enc); @@ -1421,7 +1423,7 @@ fst_default = fst_default + ",locale=" + deletechars(sl[1]:"", "\"" ); } } - if( size(code)>0 && code != "437" && fsys!=`ntfs ) + if( size(code)>0 && code != "437" && fsys!=`ntfs && !is_boot) { fst_default = fst_default + ",codepage=" + code; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/modules/Partitions.ycp new/yast2-storage-2.24.0/storage/src/modules/Partitions.ycp --- old/yast2-storage-2.23.9/storage/src/modules/Partitions.ycp 2013-02-15 10:33:44.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/modules/Partitions.ycp 2013-03-14 18:06:38.000000000 +0100 @@ -73,6 +73,7 @@ integer fsid_boot = 0; integer boot_cyl = 0; string boot_mount_point = ""; + integer memory_size = 0; global boolean no_fsid_menu = Arch::s390 (); @@ -362,47 +363,42 @@ return( !IsDosWinNtPartition( fsid ) && fsid==fsid_swap ); } -global integer SwapSizeMb( integer slot_size ) +integer SwapSizeMbforSwap( integer slot_size ) { - map mem_info_map = (map) SCR::Read(.proc.meminfo); - integer mem = mem_info_map["memtotal"]:0 / 1024; - y2milestone("mem_info_map:%1 mem:%2", mem_info_map, mem); - - // a good approach swap == mem x 2 integer swap_size = 0; if( slot_size==0 ) { - if( mem <= 256 ) + if( memory_size <= 256 ) { - swap_size = mem * 2; + swap_size = memory_size * 2; } else { - swap_size = mem + mem/2; + swap_size = memory_size + memory_size/2; } } else { - if( mem * 9 < slot_size ) + if( memory_size * 9 < slot_size ) { - swap_size = mem * 2; + swap_size = memory_size * 2; } - else if( mem * 5 < slot_size ) + else if( memory_size * 5 < slot_size ) { - swap_size = mem; + swap_size = memory_size; } - else if( mem * 3 < slot_size ) + else if( memory_size * 3 < slot_size ) { - swap_size = mem / 2; + swap_size = memory_size / 2; } - else if( mem * 2 < slot_size ) + else if( memory_size * 2 < slot_size ) { - swap_size = mem / 3; + swap_size = memory_size / 3; } else { - swap_size = mem / 4; + swap_size = memory_size / 4; } } @@ -422,32 +418,57 @@ // 10G -> 512MB // 40G -> 1GB - if( slot_size > (40 * 1024) && (swap_size + mem) < 1024 ) + if( slot_size > (40 * 1024) && (swap_size + memory_size) < 1024 ) { - swap_size = 1024 - mem; + swap_size = 1024 - memory_size; } - else if( slot_size > (10 * 1024) && (swap_size + mem) < 512 ) + else if( slot_size > (10 * 1024) && (swap_size + memory_size) < 512 ) { - swap_size = 512 - mem; + swap_size = 512 - memory_size; } - else if( slot_size > (2 * 1024) && (swap_size + mem) < 256 ) + else if( slot_size > (2 * 1024) && (swap_size + memory_size) < 256 ) { - swap_size = 256 - mem; + swap_size = 256 - memory_size; } - else if( slot_size > (1 * 1024) && (swap_size + mem) < 128 ) + else if( slot_size > (1 * 1024) && (swap_size + memory_size) < 128 ) { - swap_size = 128 - mem; + swap_size = 128 - memory_size; } if( swap_size == 0 ) { swap_size = -1; } - y2milestone( "SwapSizeMb mem %1 slot_size %2 swap_size %3", mem, - slot_size, swap_size ); + y2milestone( "SwapSizeMbforSwap mem %1 slot_size %2 swap_size %3", + memory_size, slot_size, swap_size ); return( swap_size ); } +integer SwapSizeMbforSuspend() + { + integer ret = (memory_size+511)/512*512; + y2milestone( "SwapSizeMbforSuspend %1", ret ); + return( ret ); + } + +global integer SwapSizeMb( integer slot_size, boolean suspend ) + { + if( memory_size==0 ) + { + map mem_info_map = (map) SCR::Read(.proc.meminfo); + memory_size = mem_info_map["memtotal"]:0 / 1024; + y2milestone("mem_info_map:%1 mem:%2", mem_info_map, memory_size); + } + integer sw = SwapSizeMbforSwap(slot_size); + if( suspend ) + { + integer news = SwapSizeMbforSuspend(); + if( news>sw ) + sw = news; + } + y2milestone( "SwapSizeMb suspend:%1 ret:%2", suspend, sw ); + return( sw ); + } global define boolean IsResizable( integer fsid ) ``{ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/modules/Storage.ycp new/yast2-storage-2.24.0/storage/src/modules/Storage.ycp --- old/yast2-storage-2.23.9/storage/src/modules/Storage.ycp 2013-02-27 18:43:36.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/modules/Storage.ycp 2013-03-20 12:16:36.000000000 +0100 @@ -5372,6 +5372,9 @@ ret = FileSystems::IsResizable(part["used_fs"]:`unknown); } } + ret["device"] = Partitions::IsResizable(part["fsid"]:0) && + substring(part["device"]:"",0,9)!="/dev/dasd"; + y2milestone( "sub:%1 is:%2", substring(part["device"]:"",0,9), substring(part["device"]:"",0,9)!="/dev/dasd" ); y2milestone( "IsResizable part:%1 ret:%2", part, ret ); return( ret ); } @@ -6339,4 +6342,17 @@ return( ret ); } +global list GetCreatedSwaps() + { + map<string,map> tg = GetTargetMap(); + list ret = []; + foreach( string k, map d, tg, + { + ret = union( ret, + filter( map p, d["partitions"]:[], + ``(p["create"]:false&&p["mount"]:""=="swap"))); + }); + return( ret ); + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-storage-2.23.9/storage/src/modules/StorageProposal.ycp new/yast2-storage-2.24.0/storage/src/modules/StorageProposal.ycp --- old/yast2-storage-2.23.9/storage/src/modules/StorageProposal.ycp 2013-02-11 18:28:19.000000000 +0100 +++ new/yast2-storage-2.24.0/storage/src/modules/StorageProposal.ycp 2013-03-14 18:06:38.000000000 +0100 @@ -72,6 +72,7 @@ boolean proposal_lvm = false; boolean proposal_encrypt = false; boolean proposal_btrfs = false; + boolean proposal_suspend = false; string proposal_password = ""; boolean proposal_create_vg = false; @@ -128,6 +129,17 @@ y2milestone("SetProposalBtrfs val:%1", val); } + global boolean GetProposalSuspend() + { + return proposal_suspend; + } + + global void SetProposalSuspend(boolean val) + { + proposal_suspend = val; + y2milestone("SetProposalSuspend val:%1", val); + } + global string GetProposalPassword() { return proposal_password; @@ -147,11 +159,12 @@ SetProposalLvm(cfg_xml["prop_lvm"]:false); SetProposalEncrypt(false); SetProposalPassword(""); + SetProposalSuspend(cfg_xml["suspend"]:false); } SetProposalBtrfs(cfg_xml["btrfs"]:false); - y2milestone("SetProposalDefault home:%1 lvm:%2 encypt:%3 home_only:%4 btrfs:%5", + y2milestone("SetProposalDefault home:%1 lvm:%2 encypt:%3 home_only:%4 btrfs:%5 suspend:%6", proposal_home, proposal_lvm, proposal_encrypt, home_only, - proposal_btrfs); + proposal_btrfs,proposal_suspend); } @@ -202,7 +215,8 @@ cfg_xml["btrfs_increase_percentage"] = itmp; if (cfg_xml["btrfs_increase_percentage"]:0 == nil || cfg_xml["btrfs_increase_percentage"]:0 < 0) cfg_xml["btrfs_increase_percentage"] = 100; - + btmp = ProductFeatures::GetBooleanFeature("partitioning", "swap_for_suspend"); + cfg_xml["suspend"] = btmp ? true : false; SetProposalDefault(false); y2milestone("GetControlCfg cfg_xml:%1", cfg_xml); } @@ -2276,7 +2290,7 @@ if( partition["size"]:0 == -1 && partition["mount"]:"" == "swap" ) { - partition["size"] = 1024*1024*Partitions::SwapSizeMb(0); + partition["size"] = 1024*1024*Partitions::SwapSizeMb(0,StorageProposal::GetProposalSuspend()); } if( partition["mount"]:"" == Partitions::BootMount() ) { @@ -2495,7 +2509,7 @@ y2milestone( "part %1", part ); if( part["size"]:0 == -1 && part["mount"]:"" == "swap" ) { - part["size"] = 1024*1024*Partitions::SwapSizeMb(0); + part["size"] = 1024*1024*Partitions::SwapSizeMb(0,StorageProposal::GetProposalSuspend()); } if( part["mount"]:"" == Partitions::BootMount() ) { @@ -2755,7 +2769,8 @@ list<integer> get_swap_sizes(integer space) { - list<integer> l = [ Partitions::SwapSizeMb(0), Partitions::SwapSizeMb(space) ]; + list<integer> l = [ Partitions::SwapSizeMb(0,StorageProposal::GetProposalSuspend()), + Partitions::SwapSizeMb(space,StorageProposal::GetProposalSuspend()) ]; y2milestone("get_swap_sizes space %1 ret %2", space, l); return l; } @@ -4231,6 +4246,12 @@ // Label text _("Use &Btrfs as Default File System"), GetProposalBtrfs() )))); + vb = add( vb, `VSpacing(space) ); + vb = add( vb, + `Left(`HBox(`HSpacing(3), `CheckBox(`id(`suspend), `opt(`notify), + // Label text + _("Enlarge &Swap for Suspend"), + GetProposalSuspend() )))); term frame = `VBox( `VSpacing(3*space), `HVCenter( `VBox( `Left(`Label( `opt(`boldFont), _("Proposal settings"))), `VSpacing(0.3), `HVCenter(vb)) )); //`HVCenter(`Frame( _("Proposal settings"), `HVCenter(vb) ))); @@ -4354,6 +4375,11 @@ StorageProposal::SetProposalHome(val); ret = true; break; + + case `suspend: + StorageProposal::SetProposalSuspend(val); + ret = true; + break; } return( ret ); } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
