From 0cd689f56078d066190bc66e8a9bcd7d4b27c9f5 Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Mon, 19 Dec 2016 13:06:39 +1100 Subject: [PATCH] buffer: simplify storage of the header. --- internal/buffer/out_message.go | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/internal/buffer/out_message.go b/internal/buffer/out_message.go index d5e3aff..bd46ae2 100644 --- a/internal/buffer/out_message.go +++ b/internal/buffer/out_message.go @@ -36,22 +36,10 @@ type OutMessage struct { // The offset into payload to which we're currently writing. payloadOffset int - header [OutMessageHeaderSize]byte + header fusekernel.OutHeader payload [MaxReadSize]byte } -// Make sure that the header field is aligned correctly for -// fusekernel.OutHeader type punning. -func init() { - a := unsafe.Alignof(OutMessage{}) - o := unsafe.Offsetof(OutMessage{}.header) - e := unsafe.Alignof(fusekernel.OutHeader{}) - - if a%e != 0 || o%e != 0 { - log.Panicf("Bad alignment or offset: %d, %d, need %d", a, o, e) - } -} - // Make sure that the header and payload are contiguous. func init() { a := unsafe.Offsetof(OutMessage{}.header) + uintptr(OutMessageHeaderSize) @@ -73,7 +61,7 @@ func (m *OutMessage) Reset() { // OutHeader returns a pointer to the header at the start of the message. func (m *OutMessage) OutHeader() *fusekernel.OutHeader { - return (*fusekernel.OutHeader)(unsafe.Pointer(&m.header)) + return &m.header } // Grow grows m's buffer by the given number of bytes, returning a pointer to