summaryrefslogtreecommitdiff
path: root/lib/libdisk/create_chunk.c
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1995-05-24 08:59:40 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1995-05-24 08:59:40 +0000
commit2f2a4e7a4a816605263982bffd4fbdc808d591cd (patch)
tree540c17fff92c76ed5ebab2195bb3b459f0f7950f /lib/libdisk/create_chunk.c
parent0412e9f72c2069210fc75e106a4ae01ee1cbf3da (diff)
Notes
Diffstat (limited to 'lib/libdisk/create_chunk.c')
-rw-r--r--lib/libdisk/create_chunk.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/libdisk/create_chunk.c b/lib/libdisk/create_chunk.c
index ab1f0828b162..f7bca3277943 100644
--- a/lib/libdisk/create_chunk.c
+++ b/lib/libdisk/create_chunk.c
@@ -6,7 +6,7 @@
* this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
* ----------------------------------------------------------------------------
*
- * $Id: create_chunk.c,v 1.17 1995/05/15 19:03:08 phk Exp $
+ * $Id: create_chunk.c,v 1.18 1995/05/20 19:11:44 phk Exp $
*
*/
@@ -155,11 +155,18 @@ int
Create_Chunk(struct disk *d, u_long offset, u_long size, chunk_e type, int subtype, u_long flags)
{
int i;
+ u_long l;
+ /* Never use the first track */
if (!offset) {
offset += d->bios_sect;
size -= d->bios_sect;
}
+
+ /* Always end on cylinder boundary */
+ l = (offset+size) % (d->bios_sect * d->bios_hd);
+ size -= l;
+
i = Add_Chunk(d,offset,size,"X",type,subtype,flags);
Fixup_Names(d);
return i;