Remove writability requirement for single-mbuf, contiguous-range

m_pulldown()

m_pulldown() only needs to determine if a mbuf is writable if it is going to
copy data into the data region of an existing mbuf. It does this to create a
contiguous data region in a single mbuf from multiple mbufs in the chain. If
the requested memory region is already contiguous and nothing needs to
change, the mbuf does not need to be writeable.

Submitted by:	Brian Mueller <bmueller@panasas.com>
Reviewed by:	bz
MFC after:	1 week
Sponsored by:	Panasas
Differential Revision:	https://reviews.freebsd.org/D9053
This commit is contained in:
Ravi Pokala 2017-01-12 06:38:03 +00:00
parent 62f5c49637
commit 8e712af70b

View File

@ -159,7 +159,7 @@ m_pulldown(struct mbuf *m, int off, int len, int *offp)
* the target data is on <n, off>.
* if we got enough data on the mbuf "n", we're done.
*/
if ((off == 0 || offp) && len <= n->m_len - off && writable)
if ((off == 0 || offp) && len <= n->m_len - off)
goto ok;
/*