Page MenuHomeFreeBSD

D12340.diff
No OneTemporary

D12340.diff

Index: head/sys/boot/efi/libefi/efipart.c
===================================================================
--- head/sys/boot/efi/libefi/efipart.c
+++ head/sys/boot/efi/libefi/efipart.c
@@ -723,9 +723,20 @@
pd->pd_bcache = bcache_allocate();
if (dev->d_dev->dv_type == DEVT_DISK) {
- return (disk_open(dev,
+ int rc;
+
+ rc = disk_open(dev,
blkio->Media->BlockSize * (blkio->Media->LastBlock + 1),
- blkio->Media->BlockSize));
+ blkio->Media->BlockSize);
+ if (rc != 0) {
+ pd->pd_open--;
+ if (pd->pd_open == 0) {
+ pd->pd_blkio = NULL;
+ bcache_free(pd->pd_bcache);
+ pd->pd_bcache = NULL;
+ }
+ }
+ return (rc);
}
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 9, 10:38 AM (4 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15731763
Default Alt Text
D12340.diff (683 B)

Event Timeline