Vladimir 'phcoder' Serbinenko
3f7d9c8280
* util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
...
that floppies are unpartitioned.
2013-09-23 12:19:49 +02:00
Vladimir 'phcoder' Serbinenko
bca8873a0c
* util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
...
Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
2013-09-23 12:06:00 +02:00
Vladimir 'phcoder' Serbinenko
7e518ca84f
Use Winapi on both cygwin and mingw32 to share more code between both.
2013-09-23 11:21:09 +02:00
Vladimir 'phcoder' Serbinenko
3ff4063dd3
* grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
...
files rather than one file with loads of #if's.
* util/getroot.c: Likewise.
2013-09-22 07:36:17 +02:00
Vladimir 'phcoder' Serbinenko
63653cfdae
* grub-core/disk/diskfilter.c: Handle non-md UUIDs.
...
* grub-core/disk/lvm.c: Add LVM UUIDs.
* util/getroot.c: Use LVM UUIDs whenever possible.
2013-09-20 20:37:03 +02:00
Vladimir 'phcoder' Serbinenko
53c6b7d658
* util/getroot.c (grub_util_open_dm): Check major rather than the name
...
to determine if device is handled by devmapper.
(convert_system_partition_to_system_disk): Likewise.
(get_dm_uuid): Don't check explicitly if device is mapped, it's
already done in grub_util_open_dm.
2013-09-19 09:46:06 +02:00
Vladimir 'phcoder' Serbinenko
386701a8fe
Handle the case of partitioned LVM properly.
...
* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
Stop on meeting LVM, mpath or DMRAID.
(grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
(read_device_map): Likewise.
* util/getroot.c (convert_system_partition_to_system_disk): Assume that
device is full disk rather than erroring out on LVM and similar cases.
2013-09-19 08:48:54 +02:00
Vladimir 'phcoder' Serbinenko
5dd5e64b71
* util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
...
removed in current versions cygwin_conv_*.
2013-08-23 08:51:21 +02:00
Vladimir 'phcoder' Serbinenko
43ffba7c65
* util/getroot.c: Include sys/wait.h only when we need waitpid.
2013-08-22 16:28:10 +02:00
Ilya Bakulin
0031b22993
* grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
...
* util/getroot.c: Likewise.
2013-08-21 21:05:01 +02:00
Andrey Borzenkov
5e7d94641b
* util/getroot.c (grub_util_is_imsm): Fix descriptor and
...
memory leak.
2013-08-14 20:47:09 +04:00
Andrey Borzenkov
dea55e2a95
* util/getroot.c (pull_lvm_by_command): add --separator option
...
to vgs call to disable padding of output to 10 characters.
2013-08-14 20:40:39 +04:00
Colin Watson
36e87d25e1
* util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
...
grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
falling back to the partition device, otherwise a later call to this
function may fail spuriously.
Reported by Axel Beckert. Fixes Debian bug #708614 .
2013-08-13 17:48:56 +02:00
Vladimir 'phcoder' Serbinenko
63314aa43c
* util/getroot.c (exec_pipe): Put proper #if's so that its users don't
...
compile when not needed.
2013-04-26 23:41:13 +02:00
Vladimir 'phcoder' Serbinenko
25fc51a879
Fix DMRAID partition handling.
2013-04-15 08:37:13 +02:00
Vladimir 'phcoder' Serbinenko
ba44ca6d1a
Replace stpcpy with grub_stpcpy in tools.
2013-04-12 22:37:59 +02:00
Vladimir 'phcoder' Serbinenko
49818a594a
Fix missing PVs if they don't contain "interesting" LV. Closes #38677 .
...
Fix few warining messages and leaks while on it.
2013-04-11 00:08:27 +02:00
Colin Watson
25239370fd
Remove nested functions from device iterators.
...
* include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
(grub_arc_iterate_devs): Add hook_data argument.
* include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
(struct grub_ata_dev.iterate): Add hook_data argument.
* include/grub/device.h (grub_device_iterate_hook_t): New type.
(grub_device_iterate): Add hook_data argument.
* include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
(struct grub_disk_dev.iterate): Add hook_data argument.
(grub_disk_dev_iterate): Likewise.
* include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
Likewise.
* include/grub/msdos_partition.h (grub_partition_msdos_iterate):
Likewise.
* include/grub/partition.h (grub_partition_iterate_hook_t): New
type.
(struct grub_partition_map.iterate): Add hook_data argument.
(grub_partition_iterate): Likewise.
* include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
(struct grub_scsi_dev.iterate): Add hook_data argument.
Update all callers.
2013-01-20 15:52:15 +00:00
Vladimir 'phcoder' Serbinenko
22099030ad
* grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
...
delimit path in strings using quotes.
* util/getroot.c (grub_guess_root_devices): Likewise.
(grub_make_system_path_relative_to_its_root): Likewise.
* util/grub-probe.c (probe): Likewise.
* util/ieee1275/ofpath.c (find_obppath): Likewise.
(xrealpath): Likewise.
2013-01-13 22:45:16 +01:00
Vladimir 'phcoder' Serbinenko
258f43b7d7
* util/getroot.c (convert_system_partition_to_system_disk): Support
...
nbd disks.
2012-12-10 11:12:38 +01:00
Colin Watson
794c8c3375
Fix grub-emu build on FreeBSD.
...
* Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
* grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
headers on Linux.
(GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
implementation is currently Linux-specific.
* util/getroot.c (exec_pipe): Define only on Linux or when either
libzfs or libnvpair is unavailable.
(find_root_devices_from_poolname): Remove unused path variable.
2012-09-22 21:19:58 +01:00
Vladimir 'phcoder' Serbinenko
592fd0e4d6
* grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
...
* util/getroot.c (grub_find_device): Likewise.
(get_mdadm_uuid): Likewise.
(grub_util_is_imsm): Likewise.
(grub_util_pull_device): Likewise.
* util/grub-probe.c (probe): Likewise.
2012-09-11 07:53:26 +02:00
Vladimir 'phcoder' Serbinenko
d1718e7d2b
* util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
...
subvolumes.
2012-06-22 22:11:23 +02:00
Vladimir 'phcoder' Serbinenko
29a049c98a
* util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
...
Set is_part appropriately.
(grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
names. Canonicalize partition without full disk.
2012-06-14 19:16:30 +02:00
Vladimir 'phcoder' Serbinenko
558d3a6023
* util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
...
* grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
to here. New return value start. All users updated.
Recursively scan linear mappings.
* include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
proto.
* grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
Use grub_util_get_dm_node_linear_info.
* util/getroot.c (convert_system_partition_to_system_disk): Use
grub_util_info rather than grub_dprintf.
(grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
2012-06-07 14:24:48 +02:00
Vladimir 'phcoder' Serbinenko
de89d33847
* util/getroot.c (grub_guess_root_devices): Don't canonicalise
...
/dev/root and /dev/dm-*.
2012-06-02 14:36:27 +02:00
Vladimir 'phcoder' Serbinenko
037f6d9060
* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
...
Implement Apple flavour.
(convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
2012-05-28 17:43:12 +02:00
Samuel Thibault
1796965f6c
* util/getroot.c (find_hurd_root_device): Try to make error message
...
and comments to translators clearer.
2012-05-04 02:26:39 +02:00
Samuel Thibault
e5e4ca486c
Handle hurd userspace partitions.
...
* util/getroot.c (find_hurd_root_device): New function.
(grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2012-05-03 23:41:46 +02:00
Vladimir 'phcoder' Serbinenko
56bb5dd518
* util/getroot.c (convert_system_partition_to_system_disk); Add etherd
...
names.
Reported by: Bastian Blank.
2012-05-03 22:59:16 +02:00
Vladimir 'phcoder' Serbinenko
bcb288ed17
* util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
...
name.
2012-05-02 09:56:56 +02:00
root
fe4824e998
Fix hurd build.
...
* util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
find_root_devices_from_poolname, find_root_devices_from_libzfs,
grub_find_device): Do not define.
2012-04-22 19:02:55 +00:00
Vladimir 'phcoder' Serbinenko
9a06490c07
Fix kfreebsd compile and behaviour.
...
* grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
format-security.
* util/getroot.c: Fix wait.h include.
(grub_guess_root_devices): Error if grub_find_device fails.
(grub_util_get_geom_abstraction): Fix shadowing and format-security.
(grub_util_get_dev_abstraction): Likewise.
(grub_util_pull_device): Likewise.
(grub_util_get_grub_dev): Likewise.
* util/lvm.c (grub_util_lvm_isvolume): Likewise.
2012-04-21 16:49:56 +02:00
Vladimir 'phcoder' Serbinenko
48143d96a6
Fix and unify wholedisk detection.
...
* util/getroot.c (convert_system_partition_to_system_disk): New argument
is_part. All users updated.
(device_is_wholedisk): Removed.
(grub_util_biosdisk_get_grub_dev): Use is_part.
2012-04-21 16:42:28 +02:00
Vladimir 'phcoder' Serbinenko
4e75f21c33
* util/getroot.c (convert_system_partition_to_system_disk): Fix use
...
after free.
Reported by: Peter Jones.
2012-03-31 12:27:10 +02:00
Vladimir 'phcoder' Serbinenko
b6cf74c901
* util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
...
missing quotes which caused confusion among translators.
2012-03-19 16:30:16 +01:00
Vladimir 'phcoder' Serbinenko
ec31677170
Fix IMSM handling on Fedora.
...
* util/getroot.c (grub_util_is_imsm): New function.
(grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2012-03-10 18:01:01 +01:00
Vladimir 'phcoder' Serbinenko
6d790129fa
* util/getroot.c (exec_pipe): Ensure that the child is not localised.
2012-03-10 13:05:21 +01:00
Vladimir 'phcoder' Serbinenko
e4b791fabe
* util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
...
absolutely unclear error message.
2012-03-02 14:58:53 +01:00
Vladimir 'phcoder' Serbinenko
937fd0cc0c
* util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
...
(exec_pipe) [CYGWIN || MINGW32]: Likewise.
(find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
(find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
Disable -Werror for -Wdeprecated-declarations.
(grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
(get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
(grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
(grub_util_get_grub_dev): Make luks handling dependent on
HAVE_DEVICE_MAPPER and not __linux__.
(get_win32_path): Fix format security.
(grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
(grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
Don't try grub_find_zpool_from_dir.
(grub_make_system_path_relative_to_its_root) [!__linux__]:
#ifdef-out paresdir.
2012-03-02 11:36:07 +01:00
Vladimir 'phcoder' Serbinenko
434814814b
* util/getroot.c [__APPLE__]: Add missing includes.
...
(grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2012-02-29 14:14:08 +01:00
Vladimir 'phcoder' Serbinenko
7931dddfb8
* util/getroot.c (grub_find_root_devices_from_btrfs): Add
...
missing initialisation.
2012-02-28 04:25:13 +01:00
Richard Laager
f122e0d648
* util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
...
"zfs" and "fuse.zfs" as synonyms.
2012-02-27 20:14:26 +01:00
Richard Laager
897b741978
* util/getroot.c (find_root_devices_from_poolname): Handle vdevs
...
with full paths.
2012-02-27 17:42:48 +01:00
Richard Laager
a414bd1565
* util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
...
unescape.
2012-02-27 17:40:38 +01:00
Vladimir 'phcoder' Serbinenko
30ac48c452
Don't use insecure popen in getroot.
...
* util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
(exec_pipe): ... here.
(find_root_devices_from_poolname): Use exec_pipe.
2012-02-27 17:37:23 +01:00
Vladimir 'phcoder' Serbinenko
b913642798
Support btrfs multi-volume probe.
...
* util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
(btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
(BTRFS_IOC_DEV_INFO) [__linux__]: New define.
(BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
(grub_find_root_devices_from_btrfs) [__linux__]: New function.
(grub_find_root_devices_from_mountinfo) [__linux__]: Use
grub_find_root_devices_from_btrfs if on btrfs.
2012-02-27 14:56:28 +01:00
Vladimir 'phcoder' Serbinenko
67093bc0ed
Another round of string clarification and adding TRANSLATORS comments.
2012-02-26 17:28:05 +01:00
Vladimir 'phcoder' Serbinenko
b055f8f676
* util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
...
(grub_util_biosdisk_get_grub_dev): Fix format specification.
2012-02-11 11:41:22 +01:00
Vladimir 'phcoder' Serbinenko
45b0c8b797
* util/getroot.c (grub_find_device): Respect format security.
...
(get_mdadm_uuid): Remove unused variable.
(grub_util_pull_device): Dont call gettext on already translated
grub_errmsg.
(find_system_device): Remove unused variable.
(grub_util_get_grub_dev): Likewise.
(grub_make_system_path_relative_to_its_root): Respect format security.
2012-02-10 13:17:12 +01:00