Lines Matching defs:buffer

64  * struct pstore_zone - single stored buffer
69 * @buffer: pointer to data buffer managed by this zone
70 * @oldbuf: pointer to old data buffer
71 * @buffer_size: bytes in @buffer->data
73 * @dirty: whether the data in @buffer dirty
82 struct psz_buffer *buffer;
162 return atomic_read(&zone->buffer->datalen);
167 return atomic_read(&zone->buffer->start);
178 if (!buf || !zone || !zone->buffer)
183 memcpy(buf, zone->buffer->data + off, len);
213 memcpy(zone->buffer->data + off, buf, wlen);
214 atomic_set(&zone->buffer->datalen, wlen + off);
231 wcnt = writeop((const char *)zone->buffer->data + off, wlen,
232 zone->off + sizeof(*zone->buffer) + off);
238 wcnt = writeop((const char *)zone->buffer, wlen, zone->off);
243 wlen = zone->buffer_size + sizeof(*zone->buffer);
244 wcnt = writeop((const char *)zone->buffer, wlen, zone->off);
302 const char *data = (const char *)old->buffer->data;
307 atomic_set(&new->buffer->datalen, 0);
311 atomic_set(&old->buffer->datalen, 0);
362 buf = zone->buffer;
406 if (buf->sig != zone->buffer->sig) {
508 if (tmpbuf.sig != zone->buffer->sig) {
652 if (zone && zone->buffer && buffer_datalen(zone))
660 struct psz_buffer *buffer = zone->buffer;
662 (struct psz_kmsg_header *)buffer->data;
672 size = buffer_datalen(zone) + sizeof(*zone->buffer);
673 atomic_set(&zone->buffer->datalen, 0);
689 * if there are new data in zone buffer, that means the old data
724 struct psz_buffer *buffer = zone->buffer;
726 (struct psz_kmsg_header *)buffer->data;
762 len = zone->buffer_size + sizeof(*zone->buffer);
763 zone->oldbuf = zone->buffer;
764 zone->buffer = kzalloc(len, GFP_ATOMIC);
765 if (!zone->buffer) {
766 zone->buffer = zone->oldbuf;
769 zone->buffer->sig = zone->oldbuf->sig;
779 /* no need to try next zone, free last zone buffer */
787 kfree(zone->buffer);
788 zone->buffer = zone->oldbuf;
802 * If our buffer is larger than kmsg_bytes, this can never happen,
803 * and if our buffer is smaller than kmsg_bytes, we don't want the
819 /* always return 0 as we had handled it on buffer */
834 if (atomic_read(&zone->buffer->datalen) >= zone->buffer_size)
854 atomic_set(&zone->buffer->start, cnt + start);
859 * It work if actual data length lesser than buffer size.
860 * If data length greater than buffer size, pmsg will rewrite to
861 * beginning of zone, which make buffer->datalen wrongly.
862 * So we should reset datalen as buffer size once actual data length
863 * greater than buffer size.
866 atomic_set(&zone->buffer->datalen, zone->buffer_size);
944 struct psz_buffer *buffer = zone->buffer;
946 (struct psz_kmsg_header *)buffer->data;
966 atomic_set(&zone->buffer->datalen, 0);
1118 kfree(zone->buffer);
1170 zone->buffer = kmalloc(size, GFP_KERNEL);
1171 if (!zone->buffer) {
1175 memset(zone->buffer, 0xFF, size);
1180 zone->buffer->sig = type ^ PSZ_SIG;
1183 atomic_set(&zone->buffer->datalen, 0);
1184 atomic_set(&zone->buffer->start, 0);
1189 zone->off, sizeof(*zone->buffer), zone->buffer_size);