commit - 92a9bc24f9bcc152b33c8f876cc13e9e1c95cfc8
commit + dcb5580cf084ca5a94f354e048b8f6b6e4dae630
blob - d156457d5fcbad85f29a430a012bc39e6a1384c7
blob + 5d447479037d1d5ea49d7ff844ca0766f6ef5eda
--- src/libdiskfs/part.c
+++ src/libdiskfs/part.c
{
DiskPart *d = (DiskPart*)dd;
- return disksync(d->subdisk);
+ if(d->subdisk)
+ return disksync(d->subdisk);
+ return 0;
}
static void
{
DiskPart *d = (DiskPart*)dd;
- diskclose(d->subdisk);
+ if(d->subdisk)
+ diskclose(d->subdisk);
free(d);
}
Disk*
-diskpart(Disk *subdisk, u64int size, u64int offset)
+diskpart(Disk *subdisk, u64int offset, u64int size)
{
DiskPart *d;
return &d->disk;
}
+
+void
+diskpartabandon(Disk *d)
+{
+ if(d->_read != diskpartread)
+ abort();
+ d->subdisk = nil;
+}