Page MenuHomeFreeBSD

tsoome (Toomas Soome)
User

Projects

User Details

User Since
Dec 11 2015, 11:12 PM (175 w, 5 h)

Recent Activity

Yesterday

tsoome accepted D19869: Add a new uefi-edk2-qemu port..
Fri, Apr 19, 7:33 AM

Sun, Apr 7

tsoome committed rS346008: loader: command_lsefi: ret can be used uninitialized.
loader: command_lsefi: ret can be used uninitialized
Sun, Apr 7, 2:07 PM
tsoome committed rS346007: loader: add file_remove() function to undo file_insert_tail()..
loader: add file_remove() function to undo file_insert_tail().
Sun, Apr 7, 1:36 PM
tsoome committed rS346002: loader: mod_loadkld() error: we previously assumed 'last_file' could be null.
loader: mod_loadkld() error: we previously assumed 'last_file' could be null
Sun, Apr 7, 12:20 PM
tsoome committed rS346001: loader: file_addmetadata() should check for memory allocation.
loader: file_addmetadata() should check for memory allocation
Sun, Apr 7, 12:10 PM
tsoome committed rS346000: loader: remove pointer checks before free() in module.c.
loader: remove pointer checks before free() in module.c
Sun, Apr 7, 11:55 AM
tsoome committed rS345999: loader: file_addmodule should check for memory allocation.
loader: file_addmodule should check for memory allocation
Sun, Apr 7, 11:50 AM
tsoome committed rS345998: loader: malloc+bzero is calloc.
loader: malloc+bzero is calloc
Sun, Apr 7, 11:48 AM

Sun, Mar 31

tsoome added a comment to D19019: zfs stand: plumb primary vdev out through zfs_probe_dev as needed.

um, I am sorry to jump in late. but ... there is something similar I did too:

Sun, Mar 31, 7:34 AM

Thu, Mar 28

tsoome committed rS345631: MFC: r344248,r344387.
MFC: r344248,r344387
Thu, Mar 28, 8:38 AM
tsoome created D19733: loader: implement map-vdisk and unmap-vdisk commands.
Thu, Mar 28, 6:18 AM

Wed, Mar 27

tsoome abandoned D19243: loader: devopen() should probe partition 'a' from freebsd slice first.
Wed, Mar 27, 8:42 PM
tsoome abandoned D19238: loader: disk api should honor d_partition = -1 and open slice.
Wed, Mar 27, 8:41 PM

Mar 20 2019

tsoome added inline comments to D19588: Add a new efi-update-loader script and associated man page.
Mar 20 2019, 5:50 PM

Mar 15 2019

tsoome added a comment to D19588: Add a new efi-update-loader script and associated man page.

I think, what you need to establish first is what this script is for and what are the use cases. If we are running it from installer, it must only install boot programs on target disk(s). If it is meant to be used as generic update current boot disks, then it has to discover disks related to current root file system. The least we want to happen is that some random disk will get updated.

I forgot to explain that. This script would be run from make installworld or freebsd-update to update an ESP that's expected to already have a FreeBSD boot1.efi or loader.efi on it.
I need to update the diff to look at the output of gmirror status, zpool status etc. to work out which ESP(s) to update. In a mirror situation there may be multiple ESPs which should be updated.

Mar 15 2019, 4:09 PM
tsoome added a comment to D19588: Add a new efi-update-loader script and associated man page.

I'm thinking that instead of looking at all disks in the system it should perhaps only check the disk that contains the root filesystem.
That would avoid the case where for example the script would try and update the install media plugged into a USB port.

Mar 15 2019, 6:51 AM

Mar 6 2019

tsoome accepted D19341: Add retry loop around GetMemoryMap call to fix fragmentation bug.
Mar 6 2019, 5:35 AM

Feb 27 2019

tsoome accepted D19374: EFI: don't call printf after ExitBootServices, since it uses Boot Services.
Feb 27 2019, 2:30 PM
tsoome accepted D19388: Fix regression introduced in r344569.
Feb 27 2019, 1:38 PM
tsoome added inline comments to D19341: Add retry loop around GetMemoryMap call to fix fragmentation bug.
Feb 27 2019, 8:02 AM
tsoome added inline comments to D19341: Add retry loop around GetMemoryMap call to fix fragmentation bug.
Feb 27 2019, 7:04 AM
tsoome added inline comments to D19374: EFI: don't call printf after ExitBootServices, since it uses Boot Services.
Feb 27 2019, 6:16 AM

Feb 26 2019

tsoome added inline comments to D19341: Add retry loop around GetMemoryMap call to fix fragmentation bug.
Feb 26 2019, 8:36 AM

Feb 20 2019

tsoome committed rS344387: loader: really fix cd9660 dirmatch.
loader: really fix cd9660 dirmatch
Feb 20 2019, 9:07 PM
tsoome added inline comments to D19262: Distinguish between "no partition" and "choose best partition" with a constant..
Feb 20 2019, 6:35 AM

Feb 19 2019

tsoome created D19243: loader: devopen() should probe partition 'a' from freebsd slice first.
Feb 19 2019, 8:14 AM
tsoome added a comment to D19238: loader: disk api should honor d_partition = -1 and open slice.
In D19238#411585, @ian wrote:

Well, you have no place in config to state that the slice or partition is to be set -1. However, to preserve the working configs (where disk*: strings are set, what needs to be done is to update archsw.arch_getdev() to check and add partition a if needed (that is, if we have MBR freebsd slice and BSD label in it). But that can and should be separate patch.

If the device string is just disk0s1: then the partition is initialized to -1 in disk_parsedev(), which means on all arches leaving off the partition on a BSD slice means (and has always meant) "use the first freebsd-ufs partition in the slice".

Which means we do have the place for fix. And it has to be fixed where we do translate string descriptor to device structure. If we can add 'a' partition or not can be easily checked by simple disk_open() call. As simple as it.

Feb 19 2019, 6:21 AM

Feb 18 2019

tsoome added a comment to D19238: loader: disk api should honor d_partition = -1 and open slice.
In D19238#411585, @ian wrote:

Well, you have no place in config to state that the slice or partition is to be set -1. However, to preserve the working configs (where disk*: strings are set, what needs to be done is to update archsw.arch_getdev() to check and add partition a if needed (that is, if we have MBR freebsd slice and BSD label in it). But that can and should be separate patch.

If the device string is just disk0s1: then the partition is initialized to -1 in disk_parsedev(), which means on all arches leaving off the partition on a BSD slice means (and has always meant) "use the first freebsd-ufs partition in the slice".

Feb 18 2019, 10:07 PM
tsoome added a comment to D19238: loader: disk api should honor d_partition = -1 and open slice.
In D19238#411581, @ian wrote:

This is insufficient. Whether we like it or not, whether it's documented or not, it is an existing feature that disk_open() with partition set to any negative number means "use the first freebsd-ufs partition in the slice". This isn't documented anywhere, even the loader(8) manpage only says "the syntax for devices is odd". But if we change the current behavior, peoples' existing configurations can break, leaving them without access to a remote system, etc.

Ubldr very explicitly relies on (and documents, at least in comments) that partition == -1 means probe for a good partition. It looks to me like the code in biosdisk.c for x86 also implicitly assumes and expects that (through a really twisty path that ultimately traces back to disk_parsedev() setting d_partition to -1 and leaving it that way if there is no pX or sX on the end.

It does look like the negative number aspect is univserally -1, so we should be free to define that with a name that means 'give me what you got' and then define a new -2 or other value to mean 'give me the raw slice'.

BTW, fwiw, this isn't a problem for slices because -1 means "not initialized", 0 means "raw slice" and 1+ are slice numbers. It appears disk_open() with a negative slice number probably falls on its face, returning success with d_slice set to the negative number, but that's based on running the code in my head, haven't tested on a real machine.

Feb 18 2019, 9:43 PM
tsoome created D19238: loader: disk api should honor d_partition = -1 and open slice.
Feb 18 2019, 8:35 PM
tsoome committed rS344268: loader: ptable_close() should check its argument.
loader: ptable_close() should check its argument
Feb 18 2019, 8:29 PM
tsoome committed rS344248: cd9660: dirmatch fails to unmatch when name is prefix for directory record.
cd9660: dirmatch fails to unmatch when name is prefix for directory record
Feb 18 2019, 8:26 AM
tsoome closed D19213: cd9660: dirmatch fails to unmatch when name is prefix for directory record.
Feb 18 2019, 8:26 AM

Feb 17 2019

tsoome accepted D19220: Still a memory corruption bug in vdev_read in loader ZFS support.
Feb 17 2019, 7:02 AM

Feb 16 2019

tsoome created D19213: cd9660: dirmatch fails to unmatch when name is prefix for directory record.
Feb 16 2019, 6:12 PM

Feb 15 2019

tsoome accepted D19206: stand: dev_net: correct net_open's interpretation of params.
Feb 15 2019, 3:50 PM

Feb 13 2019

tsoome accepted D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

Thanks for working on this!:)

Feb 13 2019, 6:37 AM

Feb 11 2019

tsoome added a comment to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

The reason why I am asking is, I am trying to understand if we actually *can* get into the situation with overrun, I got the impression the zfs on disk format should keep things sector aligned, but it really is easy to get confused there... And it does feel safer if we do have proper checks in place.

If the zfs on-disk format keeps things sector-aligned / sector-multiple, then why was vdev_read complicated with code to handle non-sector aligned / non-sector multiple reads to begin with?

Feb 11 2019, 4:44 PM
tsoome added a comment to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

I have two questions:

  1. how was it tested - was there some corruption case?

I did not see any corruption happen. I found this while reading code while root-causing an issue I was having with a machine I had upgraded to 11.2 (the issue described briefly in D19142). On the 11.2 machine, I did instrument vdev_read and found that on that machine, no reads were performed that required the bounce buffer. I imagine the bounce buffer only comes into use with 4K sector drives - none of my gear is 4K.

I tested this patch using a VM booting from a ZFS mirror.

Feb 11 2019, 4:32 PM
tsoome added a comment to D19140: Fix memory corruption bug in vdev_read in loader ZFS support.

I have two questions:

Feb 11 2019, 6:56 AM
tsoome accepted D19142: Remove whole-disk vdev support from zfsboot.
Feb 11 2019, 6:30 AM

Feb 1 2019

tsoome committed rS343644: MFC r343225:.
MFC r343225:
Feb 1 2019, 6:19 AM

Jan 31 2019

tsoome committed rS343615: MFC r343124:.
MFC r343124:
Jan 31 2019, 5:07 PM
tsoome committed rS343612: MFC r343123:.
MFC r343123:
Jan 31 2019, 4:43 PM

Jan 19 2019

tsoome created D18901: loader: support com.delphix:removing.
Jan 19 2019, 9:03 PM
tsoome committed rS343203: ixgbe: this statement may fall through warnings with gcc.
ixgbe: this statement may fall through warnings with gcc
Jan 19 2019, 8:45 PM
tsoome closed D18577: ixgbe: this statement may fall through warnings with gcc.
Jan 19 2019, 8:45 PM

Jan 17 2019

tsoome committed rS343124: libsa: add asprintf().
libsa: add asprintf()
Jan 17 2019, 10:00 PM
tsoome committed rS343123: loader should ignore active multi_vdev_crash_dump feature on zpool.
loader should ignore active multi_vdev_crash_dump feature on zpool
Jan 17 2019, 9:52 PM

Jan 13 2019

tsoome committed rS342995: MFC: r342619, r342626.
MFC: r342619, r342626
Jan 13 2019, 7:26 AM
tsoome committed rS342994: i386_parsedev() needs to support fd devices.
i386_parsedev() needs to support fd devices
Jan 13 2019, 7:22 AM
tsoome committed rS342993: loader.efi: update memmap command to recognize new attributes.
loader.efi: update memmap command to recognize new attributes
Jan 13 2019, 7:19 AM
tsoome committed rS342992: With buggy int13 ah=15, we can mis-identify the floppy devices..
With buggy int13 ah=15, we can mis-identify the floppy devices.
Jan 13 2019, 7:12 AM

Jan 5 2019

tsoome committed rS342785: With buggy int13 ah=15, we can mis-identify the floppy devices..
With buggy int13 ah=15, we can mis-identify the floppy devices.
Jan 5 2019, 7:20 AM
tsoome closed D18723: biosdisk needs to use std probe for floppy devices.
Jan 5 2019, 7:20 AM

Jan 3 2019

tsoome committed rS342742: loader.efi: efi variable rework and lsefi command added.
loader.efi: efi variable rework and lsefi command added
Jan 3 2019, 8:28 PM
tsoome committed rS342721: loader.efi: update memmap command to recognize new attributes.
loader.efi: update memmap command to recognize new attributes
Jan 3 2019, 9:04 AM
tsoome added a comment to D18723: biosdisk needs to use std probe for floppy devices.

Are we *guaranteed* to have the floppy drives coming only at the start of the list?

Jan 3 2019, 6:34 AM

Jan 2 2019

tsoome created D18723: biosdisk needs to use std probe for floppy devices.
Jan 2 2019, 8:41 PM
tsoome committed rS342707: i386_parsedev() needs to support fd devices.
i386_parsedev() needs to support fd devices
Jan 2 2019, 8:31 PM
tsoome committed rS342683: MFC r341438:.
MFC r341438:
Jan 2 2019, 7:30 AM

Dec 30 2018

tsoome committed rS342626: Add Copyright..
Add Copyright.
Dec 30 2018, 3:34 PM
tsoome closed D17131: loader: create bio_alloc and bio_free for bios bounce buffer.
Dec 30 2018, 9:36 AM
tsoome committed rS342619: loader: create bio_alloc and bio_free for bios bounce buffer.
loader: create bio_alloc and bio_free for bios bounce buffer
Dec 30 2018, 9:36 AM
tsoome committed rS342618: MFC r342151, r342161:.
MFC r342151, r342161:
Dec 30 2018, 9:13 AM
tsoome committed rS342617: MFC r341329:.
MFC r341329:
Dec 30 2018, 9:05 AM
tsoome committed rS342616: MFC r341328:.
MFC r341328:
Dec 30 2018, 8:58 AM
tsoome committed rS342615: MFC: r341231.
MFC: r341231
Dec 30 2018, 8:50 AM

Dec 18 2018

tsoome updated the diff for D17131: loader: create bio_alloc and bio_free for bios bounce buffer.

Small nits

Dec 18 2018, 2:54 PM
tsoome updated the diff for D17131: loader: create bio_alloc and bio_free for bios bounce buffer.

Update the comment about alloc/free ordering.

Dec 18 2018, 10:43 AM

Dec 17 2018

tsoome committed rS342161: loader: zfs reader should not probe partitionless disks (UEFI case).
loader: zfs reader should not probe partitionless disks (UEFI case)
Dec 17 2018, 7:43 AM
tsoome closed D18558: loader: zfs reader should not probe partitionless disks.
Dec 17 2018, 7:43 AM
tsoome updated the diff for D18558: loader: zfs reader should not probe partitionless disks.

Since UEFI does probe zfs only by calling zfs probe with partition and not
with whole disk, we need zfs probe to check this case.

Dec 17 2018, 7:14 AM

Dec 16 2018

tsoome added a comment to D18558: loader: zfs reader should not probe partitionless disks.

This broke boot on my laptop.
Single SATA SSD. UEFI boot.
loader.efi does not find my ZFS pool, which is on GPT partition 3.

=>       40  250069600  ada0  GPT  (119G)
         40       1024     1  freebsd-boot  (512K)
       1064     131072     2  efi  (64M)
     132136        984        - free -  (492K)
     133120  249935872     3  freebsd-zfs  (119G)
  250068992        648        - free -  (324K)
Dec 16 2018, 6:45 PM
tsoome created D18577: ixgbe: this statement may fall through warnings with gcc.
Dec 16 2018, 9:58 AM
tsoome committed rS342151: loader: zfs reader should not probe partitionless disks.
loader: zfs reader should not probe partitionless disks
Dec 16 2018, 8:58 AM
tsoome closed D18558: loader: zfs reader should not probe partitionless disks.
Dec 16 2018, 8:58 AM

Dec 14 2018

tsoome updated the diff for D18558: loader: zfs reader should not probe partitionless disks.

Small comment rerwrite

Dec 14 2018, 5:59 PM
tsoome created D18558: loader: zfs reader should not probe partitionless disks.
Dec 14 2018, 4:55 PM

Dec 3 2018

tsoome committed rS341438: zfs: we can boot from dataset with large_dnode enabled.
zfs: we can boot from dataset with large_dnode enabled
Dec 3 2018, 7:36 PM
tsoome closed D18391: zfs: we can boot from dataset with large_dnode enabled.
Dec 3 2018, 7:36 PM
tsoome accepted D18369: stand/i386: rename .s to .S to use Clang IAS.
Dec 3 2018, 7:08 PM

Nov 30 2018

tsoome added inline comments to D17131: loader: create bio_alloc and bio_free for bios bounce buffer.
Nov 30 2018, 5:22 PM
tsoome updated the diff for D17131: loader: create bio_alloc and bio_free for bios bounce buffer.

Rebase on r341328

Nov 30 2018, 11:41 AM
tsoome added a comment to D18391: zfs: we can boot from dataset with large_dnode enabled.
In D18391#391262, @avg wrote:

Maybe rather than removing the code it would be better to ifdef it out?
But not sure. What are plans for illumos in this respect?

Nov 30 2018, 11:34 AM
tsoome created D18391: zfs: we can boot from dataset with large_dnode enabled.
Nov 30 2018, 10:51 AM
tsoome committed rS341329: loader.efi: fix EFI getchar() for multiple consoles.
loader.efi: fix EFI getchar() for multiple consoles
Nov 30 2018, 8:42 AM
tsoome committed rS341328: loader: create separate lists for fd, cd and hd, merge bioscd with biosdisk.
loader: create separate lists for fd, cd and hd, merge bioscd with biosdisk
Nov 30 2018, 8:04 AM
tsoome closed D17888: loader: create separate lists for fd, cd and hd, merge bioscd with biosdisk.
Nov 30 2018, 8:04 AM

Nov 29 2018

tsoome committed rS341231: loader: command_bcache() should print unsigned values.
loader: command_bcache() should print unsigned values
Nov 29 2018, 2:22 PM
tsoome committed rS341230: MFC r340047:.
MFC r340047:
Nov 29 2018, 2:01 PM
tsoome committed rS341229: MFC r340049:.
MFC r340049:
Nov 29 2018, 1:58 PM
tsoome committed rS341228: MFC r339959:.
MFC r339959:
Nov 29 2018, 1:54 PM
tsoome committed rS341227: MFC r339658:.
MFC r339658:
Nov 29 2018, 1:47 PM
tsoome committed rS341226: MFC r340215:.
MFC r340215:
Nov 29 2018, 1:40 PM
tsoome committed rS341225: MFC: r340240:.
MFC: r340240:
Nov 29 2018, 1:01 PM
tsoome committed rS341224: MFC r339651,339992-339993,340026.
MFC r339651,339992-339993,340026
Nov 29 2018, 12:14 PM
tsoome updated the diff for D17888: loader: create separate lists for fd, cd and hd, merge bioscd with biosdisk.

Cleaning up a bit:

Nov 29 2018, 9:54 AM

Nov 22 2018

tsoome accepted D18299: Get rid of superfluous "bug marker" code in the bcache.

Good by me - I did add this for extra safety because the malloc markers are checked on free. And since we havent been bitten yet, I guess we are good:)

Nov 22 2018, 6:22 PM

Nov 16 2018

tsoome added a comment to D17947: Rework UEFI ESP generation.

I think the EFI size should be 200MB or 256MB, rather than 35MB

I’m not sure that the install media should waste that much space for the ESP. It should definitely be around 200MB when being installed though.

Nov 16 2018, 7:00 AM