X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libbcachefs%2Ffifo.h;h=cdb272708a4bdacf94093a7c0351570189abf973;hb=1e574cb1aa07ab3a796c7d6c5501b96f3056ef4d;hp=085d828e6ed154e0cb7501a82edb201859655fdc;hpb=cef2f30ae2a25df41704b9b06fc13882d737cc27;p=bcachefs-tools-debian diff --git a/libbcachefs/fifo.h b/libbcachefs/fifo.h index 085d828..cdb2727 100644 --- a/libbcachefs/fifo.h +++ b/libbcachefs/fifo.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _BCACHEFS_FIFO_H #define _BCACHEFS_FIFO_H @@ -12,7 +13,9 @@ struct { \ #define DECLARE_FIFO(type, name) FIFO(type) name #define fifo_buf_size(fifo) \ - (roundup_pow_of_two((fifo)->size) * sizeof((fifo)->data[0])) + ((fifo)->size \ + ? roundup_pow_of_two((fifo)->size) * sizeof((fifo)->data[0]) \ + : 0) #define init_fifo(fifo, _size, _gfp) \ ({ \ @@ -98,7 +101,7 @@ do { \ ({ \ bool _r = !fifo_empty((fifo)); \ if (_r) \ - (i) = (fifo)->data[--(fifo)->back & (fifo)->mask] \ + (i) = (fifo)->data[--(fifo)->back & (fifo)->mask]; \ _r; \ })