Hello community,
here is the log from the commit of package linuxrc
checked in at Thu May 24 12:56:59 CEST 2007.
--------
--- linuxrc/linuxrc.changes 2007-03-26 17:08:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/linuxrc/linuxrc.changes 2007-05-24 12:37:43.000000000 +0200
@@ -1,0 +2,7 @@
+Thu May 24 12:37:40 CEST 2007 - snwint@suse.de
+
+- withiscsi=1 now implies netsetup=1 (#271420)
+- rewrote swap space dialog: it can create swap partitions
+ and files now
+
+-------------------------------------------------------------------
Old:
----
linuxrc-2.1.24.tar.bz2
New:
----
linuxrc-2.1.25.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linuxrc.spec ++++++
--- /var/tmp/diff_new_pack.y25638/_old 2007-05-24 12:56:53.000000000 +0200
+++ /var/tmp/diff_new_pack.y25638/_new 2007-05-24 12:56:53.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package linuxrc (Version 2.1.24)
+# spec file for package linuxrc (Version 2.1.25)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,14 +11,14 @@
# norootforbuild
Name: linuxrc
-BuildRequires: hwinfo-devel
+BuildRequires: e2fsprogs-devel hwinfo-devel
License: GNU General Public License (GPL)
Group: System/Boot
Autoreqprov: on
Summary: SUSE Installation Program
-Version: 2.1.24
+Version: 2.1.25
Release: 1
-Source: linuxrc-2.1.24.tar.bz2
+Source: linuxrc-2.1.25.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -53,6 +53,10 @@
%doc linuxrc.html
%changelog
+* Thu May 24 2007 - snwint@suse.de
+- withiscsi=1 now implies netsetup=1 (#271420)
+- rewrote swap space dialog: it can create swap partitions
+ and files now
* Mon Mar 26 2007 - snwint@suse.de
- new vfat fs detection (#257117)
- added ext4dev support
++++++ linuxrc-2.1.24.tar.bz2 -> linuxrc-2.1.25.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/Changelog new/linuxrc-2.1.25/Changelog
--- old/linuxrc-2.1.24/Changelog 2007-03-26 17:08:07.000000000 +0200
+++ new/linuxrc-2.1.25/Changelog 2007-05-23 17:27:31.000000000 +0200
@@ -1,3 +1,8 @@
+23/5/2007: v2.1.25
+ - withiscsi=1 now implies netsetup=1 (#271420)
+ - rewrote swap space dialog: it can create swap partitions
+ and files now
+
25/3/2007: v2.1.24
- new vfat fs detection (#257117)
- added ext4dev support
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/file.c new/linuxrc-2.1.25/file.c
--- old/linuxrc-2.1.24/file.c 2007-03-26 17:07:52.000000000 +0200
+++ new/linuxrc-2.1.25/file.c 2007-05-23 17:22:03.000000000 +0200
@@ -276,7 +276,8 @@
{ key_ibft_gateway, "iSCSI_INITIATOR_GATEWAY", kf_ibft },
{ key_ibft_dns, "iSCSI_INITIATOR_DNSADDR1", kf_ibft },
{ key_net_retry, "NetRetry", kf_cfg + kf_cmd },
- { key_bootif, "BOOTIF", kf_cmd }
+ { key_bootif, "BOOTIF", kf_cmd },
+ { key_swap_size, "SwapSize", kf_cfg + kf_cmd },
};
static struct {
@@ -1368,6 +1369,10 @@
case key_withiscsi:
if(f->is.numeric) config.withiscsi = f->nvalue;
+ if(config.withiscsi && !config.net.do_setup) {
+ config.net.do_setup |= DS_SETUP;
+ config.net.setup = NS_DEFAULT;
+ }
break;
case key_startshell:
@@ -1473,6 +1478,10 @@
}
break;
+ case key_swap_size:
+ if(f->is.numeric) config.swap_file_size = f->nvalue;
+ break;
+
default:
break;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/file.h new/linuxrc-2.1.25/file.h
--- old/linuxrc-2.1.24/file.h 2007-02-14 11:50:35.000000000 +0100
+++ new/linuxrc-2.1.25/file.h 2007-05-23 17:22:11.000000000 +0200
@@ -48,7 +48,7 @@
key_dhcpcd, key_layer2, key_wlan_essid, key_wlan_auth, key_wlan_key_ascii,
key_wlan_key_hex, key_wlan_key_pass, key_wlan_key_len, key_netcardname,
key_ibft_hwaddr, key_ibft_ipaddr, key_ibft_netmask, key_ibft_gateway,
- key_ibft_dns, key_net_retry, key_bootif
+ key_ibft_dns, key_net_retry, key_bootif, key_swap_size
} file_key_t;
typedef enum {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/global.h new/linuxrc-2.1.25/global.h
--- old/linuxrc-2.1.24/global.h 2007-03-26 17:07:52.000000000 +0200
+++ new/linuxrc-2.1.25/global.h 2007-05-24 12:06:37.000000000 +0200
@@ -11,6 +11,8 @@
#include
#include
+#include
+
#include "tftp.h"
#include "po/text_langids.h"
#include "text.h"
@@ -362,6 +364,11 @@
int kbd_fd; /* fd for console */
slist_t *ethtool; /* ethtool options */
slist_t *cd1texts; /* text for requesting next product cd */
+ unsigned swap_file_size; /* swap file size in MB */
+
+ struct { /* libblkid related things */
+ blkid_cache cache;
+ } blkid;
struct {
char *dir; /* driver update source dir */
@@ -456,6 +463,7 @@
char *instsys2;
char *live;
char *update;
+ char *swap;
} mountpoint;
struct {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/install.c new/linuxrc-2.1.25/install.c
--- old/linuxrc-2.1.24/install.c 2007-03-26 17:07:52.000000000 +0200
+++ new/linuxrc-2.1.25/install.c 2007-05-24 12:35:37.000000000 +0200
@@ -49,6 +49,9 @@
#include "auto2.h"
#include "fstype.h"
+#ifndef MNT_DETACH
+#define MNT_DETACH (1 << 1)
+#endif
static char inst_rootimage_tm [MAX_FILENAME];
@@ -521,58 +524,204 @@
}
+/*
+ * build a partition list
+ */
int inst_choose_partition(char **partition, int swap, char *txt_menu, char *txt_input)
{
- int i, item_cnt, rc;
+ int i, j, rc, item_cnt, item_cnt1, item_cnt2, item_cnt3;
char **items, **values;
+ char **items1, **values1;
+ char **items2, **values2;
+ char **items3, **values3;
char *type;
slist_t *sl;
- char buf[256];
- int found = 0;
- static int last_item = 0;
+ char buf[256], *dev;
+ int found = 0, item_mk_part = 0, item_mk_file = 0;
char *s, *tmp = NULL;
+ static char *last_part = NULL;
+ int last_item, last_found, last_item1 = 0, last_item2 = 0, last_item3 = 0;
+ char *module;
util_update_disk_list(NULL, 1);
util_update_swap_list();
for(i = 0, sl = config.partitions; sl; sl = sl->next) i++;
- /* just max values, actual lists might be shorter */
- items = calloc(i + 2, sizeof *items);
- values = calloc(i + 2, sizeof *values);
+ /*
+ * Just max values, actual lists might be shorter.
+ * list1: swap, list2: with fs or empty, list3: with fs
+ */
+ items1 = calloc(i + 4, sizeof *items1);
+ values1 = calloc(i + 4, sizeof *values1);
+ items2 = calloc(i + 4, sizeof *items2);
+ values2 = calloc(i + 4, sizeof *values2);
+ items3 = calloc(i + 4, sizeof *items3);
+ values3 = calloc(i + 4, sizeof *values3);
- for(item_cnt = 0, sl = config.partitions; sl; sl = sl->next) {
+ for(item_cnt1 = item_cnt2 = item_cnt3 = 0, sl = config.partitions; sl; sl = sl->next) {
if(
- sl->key &&
- !slist_getentry(config.swaps, sl->key) /* don't show active swaps */
+ sl->key && !slist_getentry(config.swaps, sl->key) /* don't show active swaps */
) {
- sprintf(buf, "/dev/%s", sl->key);
- type = fstype(buf);
- if(type && (!strcmp(type, "swap") ^ !swap)) {
- if(*partition && !strcmp(sl->key, *partition)) found = 1;
- sprintf(buf, "%-12s : %s", sl->key, type);
- values[item_cnt] = strdup(sl->key);
- items[item_cnt++] = strdup(buf);
+ if(blk_size(long_dev(sl->key)) < (128 << 10)) continue;
+
+ if(*partition && !strcmp(sl->key, *partition)) found = 1;
+ last_found = last_part && !strcmp(sl->key, last_part) ? 1 : 0;
+
+ sprintf(buf, "%s (%s)", sl->key, blk_ident(long_dev(sl->key)));
+
+ type = fstype(long_dev(sl->key));
+
+ if(type && !strcmp(type, "swap")) {
+ values1[item_cnt1] = strdup(sl->key);
+ items1[item_cnt1++] = strdup(buf);
+ if(last_found) last_item1 = item_cnt1;
+ }
+ else if(type || swap) {
+ values2[item_cnt2] = strdup(sl->key);
+ items2[item_cnt2++] = strdup(buf);
+ if(last_found) last_item2 = item_cnt2;
+ if(type) {
+ values3[item_cnt3] = strdup(sl->key);
+ items3[item_cnt3++] = strdup(buf);
+ if(last_found) last_item3 = item_cnt3;
+ }
}
}
}
- if(*partition && !found && item_cnt) {
- sprintf(buf, "/dev/%s", *partition);
- type = fstype(buf);
- sprintf(buf, "%-12s : %s", *partition, type ?: "");
- values[item_cnt] = strdup(*partition);
- items[item_cnt++] = strdup(buf);
+ if(*partition && !found) {
+ sprintf(buf, "%s (%s)", *partition, blk_ident(long_dev(*partition)));
+ values2[item_cnt2] = strdup(*partition);
+ items2[item_cnt2++] = strdup(buf);
+ }
+
+ if(swap) {
+ values1[item_cnt1] = NULL;
+ items1[item_cnt1++] = strdup("create swap partition");
+ item_mk_part = item_cnt1;
+ if(config.swap_file_size) {
+ values1[item_cnt1] = NULL;
+ items1[item_cnt1++] = strdup("create swap file");
+ item_mk_file = item_cnt1;
+ }
+ }
+
+ if(swap) {
+ item_cnt = item_cnt1;
+ items = items1;
+ values = values1;
+ last_item = last_item1;
+ }
+ else {
+ item_cnt = item_cnt3;
+ items = items3;
+ values = values3;
+ last_item = last_item3;
}
rc = 1;
if(item_cnt) {
- i = dia_list(txt_menu, 32, NULL, items, last_item, align_left);
- if(i > 0) {
- last_item = i;
+ i = dia_list(txt_menu, 36, NULL, items, last_item, align_left);
+
+ if(i == 0) rc = -1;
+
+ if(i > 0 && values[i - 1]) {
+ str_copy(&last_part, values[i - 1]);
str_copy(partition, values[i - 1]);
rc = 0;
}
+
+ if(i == item_mk_part) {
+ do {
+ i = dia_list("create a swap partition", 36, NULL, items2, last_item2, align_left);
+ if(i > 0 && values2[i - 1]) {
+ str_copy(&last_part, values2[i - 1]);
+ dev = long_dev(values2[i - 1]);
+ sprintf(buf, "/sbin/mkswap %s >/dev/null 2>&1", dev);
+ fprintf(stderr, "mkswap %s\n", dev);
+ if(!system(buf)) {
+ fprintf(stderr, "swapon %s\n", dev);
+ if(swapon(dev, 0)) {
+ fprintf(stderr, "swapon: ");
+ perror(dev);
+ dia_message(txt_get(TXT_ERROR_SWAP), MSGTYPE_ERROR);
+ }
+ else {
+ rc = 0;
+ }
+ }
+ else {
+ dia_message("mkswap failed", MSGTYPE_ERROR);
+ }
+ }
+ }
+ while(rc && i);
+ }
+ else if(i == item_mk_file) {
+ do {
+ i = dia_list("select partition for swap file", 36, NULL, items3, last_item3, align_left);
+ if(i > 0 && values3[i - 1]) {
+ str_copy(&last_part, values3[i - 1]);
+ dev = long_dev(values3[i - 1]);
+ util_fstype(dev, &module);
+ if(module) mod_modprobe(module, NULL);
+ j = util_mount_rw(dev, config.mountpoint.swap);
+ if(j) {
+ dia_message("mount failed", MSGTYPE_ERROR);
+ }
+ else {
+ char *tmp, file[256];
+ int fd;
+ window_t win;
+ unsigned swap_size = config.swap_file_size << (20 - 18); /* in 256k chunks */
+
+ sprintf(file, "%s/suseswap.img", config.mountpoint.swap);
+
+ tmp = calloc(1, 1 << 18);
+
+ fd = open(file, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+ if(fd >= 0) {
+ sprintf(buf, "creating swap file 'suseswap.img' (%u MB)", config.swap_file_size);
+ dia_status_on(&win, buf);
+ for(j = 0; j < swap_size; j++) {
+ if(write(fd, tmp, 1 << 18) != 1 << 18) break;
+ fsync(fd);
+ dia_status(&win, (j + 1) * 100 / swap_size);
+ }
+ close(fd);
+ dia_status_off(&win);
+ }
+ free(tmp);
+
+ if(j != swap_size) {
+ dia_message("failed to create swapfile", MSGTYPE_ERROR);
+ }
+ else {
+ sprintf(buf, "/sbin/mkswap %s >/dev/null 2>&1", file);
+ fprintf(stderr, "mkswap %s\n", file);
+ if(!system(buf)) {
+ fprintf(stderr, "swapon %s\n", file);
+ if(swapon(file, 0)) {
+ fprintf(stderr, "swapon: ");
+ perror(file);
+ dia_message(txt_get(TXT_ERROR_SWAP), MSGTYPE_ERROR);
+ }
+ else {
+ umount2(config.mountpoint.swap, MNT_DETACH);
+ rc = 0;
+ }
+ }
+ else {
+ dia_message("mkswap failed", MSGTYPE_ERROR);
+ }
+ }
+ if(rc) util_umount(config.mountpoint.swap);
+ }
+ }
+ }
+ while(rc && i);
+ }
}
else {
str_copy(&tmp, *partition);
@@ -585,9 +734,17 @@
}
}
- for(i = 0; i < item_cnt; i++) { free(items[i]); free(values[i]); }
- free(items);
- free(values);
+ for(i = 0; i < item_cnt1; i++) { free(items1[i]); free(values1[i]); }
+ free(items1);
+ free(values1);
+ for(i = 0; i < item_cnt2; i++) { free(items2[i]); free(values2[i]); }
+ free(items2);
+ free(values2);
+ for(i = 0; i < item_cnt3; i++) { free(items3[i]); free(values3[i]); }
+ free(items3);
+ free(values3);
+
+ // fprintf(stderr, "rc = %d\n", rc);
return rc;
}
@@ -1132,10 +1289,7 @@
i = 0;
util_free_mem();
if(config.addswap) {
- i = ask_for_swap(
- config.memory.min_yast_text - config.memory.min_free,
- txt_get(TXT_LOW_MEMORY2)
- );
+ i = ask_for_swap(-1, txt_get(TXT_LOW_MEMORY2));
}
if(i == -1) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/linuxrc.c new/linuxrc-2.1.25/linuxrc.c
--- old/linuxrc-2.1.24/linuxrc.c 2007-03-16 14:56:24.000000000 +0100
+++ new/linuxrc-2.1.25/linuxrc.c 2007-05-24 12:36:33.000000000 +0200
@@ -275,6 +275,12 @@
if(err) {
util_disp_init();
+
+#if 0
+ extern int ask_for_swap(int size, char *msg);
+ ask_for_swap(-1, "Foo Bar");
+#endif
+
lxrc_main_menu();
}
@@ -756,6 +762,7 @@
config.mountpoint.live = strdup("/mounts/live");
config.mountpoint.update = strdup("/mounts/update");
config.mountpoint.instdata = strdup("/var/adm/mount");
+ config.mountpoint.swap = strdup("/mounts/swap");
config.setupcmd = strdup("setctsid `showconsole` inst_setup yast");
config.update.dst = strdup("/update");
@@ -795,6 +802,8 @@
config.memory.min_modules = 64 * 1024;
config.memory.load_image = 200 * 1024;
+ config.swap_file_size = 1024; /* 1024 MB */
+
if(util_check_exist("/sbin/mount.smbfs")) {
str_copy(&config.net.cifs.binary, "/sbin/mount.smbfs");
str_copy(&config.net.cifs.module, "smbfs");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/Makefile new/linuxrc-2.1.25/Makefile
--- old/linuxrc-2.1.24/Makefile 2006-09-11 17:41:36.000000000 +0200
+++ new/linuxrc-2.1.25/Makefile 2007-05-22 17:23:36.000000000 +0200
@@ -1,6 +1,6 @@
CC = gcc
CFLAGS = -c -g -O2 -Wall -Wno-pointer-sign
-LDFLAGS = -lhd
+LDFLAGS = -lhd -lblkid
SRC = $(filter-out inflate.c,$(wildcard *.c))
INC = $(wildcard *.h)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/module.c new/linuxrc-2.1.25/module.c
--- old/linuxrc-2.1.24/module.c 2006-10-19 12:11:55.000000000 +0200
+++ new/linuxrc-2.1.25/module.c 2007-05-23 14:01:15.000000000 +0200
@@ -195,7 +195,7 @@
sprintf(tmp, "%s/" MODULE_CONFIG, config.module.dir);
file_read_modinfo(tmp);
- if(autoload) {
+ if(autoload && !config.test) {
for(ml = config.module.list; ml; ml = ml->next) {
if(ml->type == 0 /* 'autoload' section */ && ml->autoload) {
mod_modprobe(ml->name, ml->param);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/rootimage.c new/linuxrc-2.1.25/rootimage.c
--- old/linuxrc-2.1.24/rootimage.c 2007-02-05 15:43:13.000000000 +0100
+++ new/linuxrc-2.1.25/rootimage.c 2007-05-23 17:47:07.000000000 +0200
@@ -193,52 +193,42 @@
*/
int ask_for_swap(int size, char *msg)
{
- int i, did_init = 0;
- char tmp[256];
+ int i, j, did_init = 0;
char *partition = NULL;
- char *argv[] = { NULL, tmp };
+ char *argv[] = { NULL, NULL };
- if(config.memory.current >= config.memory.min_free + size) return 0;
+ if(size >= 0 && config.memory.current >= config.memory.min_free + size) return 0;
if(!config.win) {
util_disp_init();
did_init = 1;
}
- sprintf(tmp, "%s\n\n%s", msg, txt_get(TXT_ADD_SWAP));
- i = dia_contabort(tmp, YES);
- util_free_mem();
- if(i != YES) {
- if(did_init) util_disp_done();
- return -1;
- }
- if(config.memory.current >= config.memory.min_free + size) {
- if(did_init) util_disp_done();
- return 0;
- }
+#if 0
+ // sprintf(tmp, "%s\n\n%s", msg, txt_get(TXT_ADD_SWAP));
+#endif
do {
- if(inst_choose_partition(&partition, 1, txt_get(TXT_CHOOSE_SWAP), txt_get(TXT_ENTER_SWAP))) {
- i = -1;
- break;
- }
-
- if(partition) {
- sprintf(tmp, "/dev/%s", partition);
+ j = inst_choose_partition(&partition, 1, txt_get(TXT_ADD_SWAP), txt_get(TXT_ENTER_SWAP));
+
+ if(j == 0 && partition) {
+ argv[1] = long_dev(partition);
+ fprintf(stderr, "swapon %s\n", argv[1]);
i = util_swapon_main(2, argv);
if(i) {
dia_message(txt_get(TXT_ERROR_SWAP), MSGTYPE_ERROR);
+ j = 1;
}
}
util_free_mem();
}
- while(i);
+ while(j > 0);
str_copy(&partition, NULL);
if(did_init) util_disp_done();
- return i;
+ return j;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/util.c new/linuxrc-2.1.25/util.c
--- old/linuxrc-2.1.24/util.c 2007-03-06 17:19:25.000000000 +0100
+++ new/linuxrc-2.1.25/util.c 2007-05-23 17:20:27.000000000 +0200
@@ -8,7 +8,7 @@
#define __LIBRARY__
-#define _GNU_SOURCE /* stat64 */
+#define _GNU_SOURCE /* stat64, asprintf */
#include
#include
@@ -1164,6 +1164,9 @@
);
slist_append_str(&sl0, buf);
+ sprintf(buf, "swap file size: %u MB", config.swap_file_size);
+ slist_append_str(&sl0, buf);
+
sprintf(buf,
"InstsysID: %s%s",
config.instsys_id ?: "unset",
@@ -5021,3 +5024,79 @@
}
}
+
+char *blk_ident(char *dev)
+{
+ char *type, *label, *size;
+ static char *id = NULL;
+
+ if(id) {
+ free(id);
+ id = NULL;
+ }
+
+ if(!dev) return id;
+
+ if(!config.blkid.cache) blkid_get_cache(&config.blkid.cache, "/dev/null");
+
+ type = blkid_get_tag_value(config.blkid.cache, "TYPE", dev);
+ label = blkid_get_tag_value(config.blkid.cache, "LABEL", dev);
+ size = blk_size_str(dev);
+
+ if(!size) return id;
+
+ asprintf(&id, "%s, %s%s%s", size, type ?: "no fs", label ? ", " : "", label ?: "");
+
+ free(type);
+ free(label);
+
+ return id;
+}
+
+
+char *blk_size_str(char *dev)
+{
+ uint64_t size;
+ static char *s = NULL, unit;
+
+ if(s) {
+ free(s);
+ s = NULL;
+ }
+
+ size = blk_size(dev);
+
+ unit = 'k';
+ if(size >= (1000 << 10)) { unit = 'M'; size >>= 10; }
+ if(size >= (1000 << 10)) { unit = 'G'; size >>= 10; }
+ if(size >= (1000 << 10)) { unit = 'T'; size >>= 10; }
+ if(size >= (1000 << 10)) { unit = 'P'; size >>= 10; }
+ if(size >= (1000 << 10)) { unit = 'E'; size >>= 10; }
+ if(size >= (1000 << 10)) { unit = 'Z'; size >>= 10; }
+ if(size >= (1000 << 10)) { unit = 'Y'; size >>= 10; }
+
+ if(size >= 10 * (1 << 10)) {
+ size = (size + 512) >> 10;
+ asprintf(&s, "%u %cB", (unsigned) size, unit);
+ }
+ else {
+ size = ((10 * size) + 512) >> 10;
+ asprintf(&s, "%u.%u %cB", ((unsigned) size) / 10, ((unsigned) size) % 10, unit);
+ }
+
+ return s;
+}
+
+
+uint64_t blk_size(char *dev)
+{
+ int fd;
+ blkid_loff_t size;
+
+ fd = open(dev, O_RDONLY | O_NONBLOCK);
+ size = fd >= 0 ? blkid_get_dev_size(fd) : 0;
+ close(fd);
+
+ return size >= 0 ? size : 0;
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/util.h new/linuxrc-2.1.25/util.h
--- old/linuxrc-2.1.24/util.h 2007-02-05 15:43:26.000000000 +0100
+++ new/linuxrc-2.1.25/util.h 2007-05-23 14:51:17.000000000 +0200
@@ -157,3 +157,7 @@
void read_iscsi_ibft(void);
+char *blk_size_str(char *dev);
+uint64_t blk_size(char *dev);
+char *blk_ident(char *dev);
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-2.1.24/VERSION new/linuxrc-2.1.25/VERSION
--- old/linuxrc-2.1.24/VERSION 2007-03-26 13:54:41.000000000 +0200
+++ new/linuxrc-2.1.25/VERSION 2007-05-07 15:53:08.000000000 +0200
@@ -1 +1 @@
-2.1.24
+2.1.25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org