History log of /freebsd/sys/kern/vfs_bio.c (Results 301 – 325 of 1607)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 485ac45a 04-Feb-2014 Peter Grehan <grehan@FreeBSD.org>

MFC @ r259205 in preparation for some SVM updates. (for real this time)


# 2612af8d 21-Jan-2014 Kai Wang <kaiw@FreeBSD.org>

MFH@260988.


# 44afcdab 21-Jan-2014 John Baldwin <jhb@FreeBSD.org>

Fix a typo.


Revision tags: release/10.0.0
# df5e2cbe 27-Dec-2013 Glen Barber <gjb@FreeBSD.org>

MFH: Tracking commit.

Sponsored by: The FreeBSD Foundation


# e136eac2 27-Dec-2013 Konstantin Belousov <kib@FreeBSD.org>

Revert r259200. There are geoms/drivers which do not update
bio_completed, only manage bio_resid, e.g. sa(4).

Reported and tested by: Manfred Antar <null@pozo.com>
Sponsored by: The FreeBSD Foundat

Revert r259200. There are geoms/drivers which do not update
bio_completed, only manage bio_resid, e.g. sa(4).

Reported and tested by: Manfred Antar <null@pozo.com>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

show more ...


# b4aa4fed 10-Dec-2013 Konstantin Belousov <kib@FreeBSD.org>

Fix detection of EOF in kern_physio(). If bio_length was clipped by
the excess code in g_io_check(), bio_resid is also truncated by
g_io_deliver(). As result, bufdonebio() assigns truncated value t

Fix detection of EOF in kern_physio(). If bio_length was clipped by
the excess code in g_io_check(), bio_resid is also truncated by
g_io_deliver(). As result, bufdonebio() assigns truncated value to
the buffer b_resid field.

Use the residual bio_completed to calculate buffer b_resid from
b_bcount in bufdonebio(), instead of bio_resid, calculated from
bio_length in g_io_deliver().

The issue is seemingly caused by the code rearrange into g_io_check(),
which is not present in stable/10. The change still looks as the
useful change to have in 10 nevertheless.

Reported by: Stefan Hegnauer <stefan.hegnauer@gmx.ch>
Tested by: pho, Stefan Hegnauer <stefan.hegnauer@gmx.ch>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

show more ...


# 654957c2 19-Nov-2013 Gleb Smirnoff <glebius@FreeBSD.org>

Merge head up to r258343.


# ba9593f3 15-Nov-2013 John Baldwin <jhb@FreeBSD.org>

Don't allow vfs.lorunningspace or vfs.hirunningspace to be set such
that lorunningspace is greater than hirunningspace as the system
performs terribly if it is mistuned in this fashion.

MFC after: 1

Don't allow vfs.lorunningspace or vfs.hirunningspace to be set such
that lorunningspace is greater than hirunningspace as the system
performs terribly if it is mistuned in this fashion.

MFC after: 1 week

show more ...


# f9b2a21c 31-Oct-2013 Gleb Smirnoff <glebius@FreeBSD.org>

Merge head r232040 through r257457.
M usr.sbin/portsnap/portsnap/portsnap.8
M usr.sbin/portsnap/portsnap/portsnap.sh
M usr.sbin/tcpdump/tcpdump/Makefile


# 064bee34 30-Oct-2013 Peter Grehan <grehan@FreeBSD.org>

MFC @ r256071

This is just prior to the bhyve_npt_pmap import so will allow
just the change to be merged for easier debug.


# 8160afda 21-Oct-2013 Alexander Motin <mav@FreeBSD.org>

MFprojects/camlock r256619:
Restore BIO_UNMAPPED and BIO_TRANSIENT_MAPPING in biodonne() when unmapping
temporary mapped buffer. That fixes double unmap if biodone() called twice
for the same BIO (b

MFprojects/camlock r256619:
Restore BIO_UNMAPPED and BIO_TRANSIENT_MAPPING in biodonne() when unmapping
temporary mapped buffer. That fixes double unmap if biodone() called twice
for the same BIO (but with different done methods).

Move mapping removal before calling bio_done() method. I believe that it is
very wrong to do anything to BIO after reporting completion. kib@ thinks
it was done for some forgotten now case when bio_done() method needed mapped
buffer. But 1) if BIO was sent as unmapped, then IMO done() should be called
in the same way; 2) IMO there is no guatantee that buffer will be mapped at
this point at all, for example, if all underlying stack supports unmapped
I/O, so bio_done() handler can not expect that.

show more ...


# 0bfd163f 18-Oct-2013 Gleb Smirnoff <glebius@FreeBSD.org>

Merge head r233826 through r256722.


# 77a30af6 16-Oct-2013 Alexander Motin <mav@FreeBSD.org>

MFprojects/camlock r256370:
- Take BIO lock in biodone() only when there is no completion callback set
and so we should wake up thread waiting in biowait().
- Remove msleep() timeout from biowait()

MFprojects/camlock r256370:
- Take BIO lock in biodone() only when there is no completion callback set
and so we should wake up thread waiting in biowait().
- Remove msleep() timeout from biowait(). It was added 11 years ago, when
there was no locks used, and it should not be needed any more.

show more ...


# 3caf0790 13-Oct-2013 Simon J. Gerraty <sjg@FreeBSD.org>

Merge head@256284


# 1ccca3b5 10-Oct-2013 Alan Somers <asomers@FreeBSD.org>

IFC @256277

Approved by: ken (mentor)


# 72acff0f 09-Oct-2013 Mark Murray <markm@FreeBSD.org>

MFC - tracking commit.


# acb9d2c7 09-Oct-2013 Konstantin Belousov <kib@FreeBSD.org>

The device vnodes are often unlocked when bread() or bwrite() is
called. This probably should be fixed eventually, but for now it is
not needed to try to flush such vnodes from the buffer allocation

The device vnodes are often unlocked when bread() or bwrite() is
called. This probably should be fixed eventually, but for now it is
not needed to try to flush such vnodes from the buffer allocation
context.

Reported and tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Approved by: re (gjb)

show more ...


# 86bf1afd 02-Oct-2013 Mark Murray <markm@FreeBSD.org>

MFC - tracking update.


# 27650413 02-Oct-2013 Mark Murray <markm@FreeBSD.org>

MFC - tracking update.


# 432e79fc 02-Oct-2013 Konstantin Belousov <kib@FreeBSD.org>

When helping the bufdaemon from the buffer allocation context, there
is no sense to walk the whole dirty buffer queue. We are only
interested in, and can operate on, the buffers owned by the current

When helping the bufdaemon from the buffer allocation context, there
is no sense to walk the whole dirty buffer queue. We are only
interested in, and can operate on, the buffers owned by the current
vnode [1]. Instead of calling generic queue flush routine, do
VOP_FSYNC() if possible.

Holding the dirty buffer queue lock in the bufdaemon, without dropping
it, can cause starvation of buffer writes from other threads. This is
esp. easy to reproduce on the big memory machines, where large files
are written, causing almost all dirty buffers accumulating in several
big files, which vnodes are locked by writers. Bufdaemon cannot flush
any buffer, but is iterating over the whole dirty queue
continuously. Since dirty queue mutex is not dropped, bufdone() in
g_up thread is starved, usually deadlocking the machine [2]. Mitigate
this by dropping the queue lock after the vnode is locked, allowing
other queue lock contenders to make a progress.

Discussed with: Jeff [1]
Reported by: pho [2]
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Approved by: re (hrs)

show more ...


# ac341450 29-Sep-2013 Konstantin Belousov <kib@FreeBSD.org>

Reimplement r255797 using LK_TRYUPGRADE.

The r255797 was:
Increase the chance of the buffer write from the bufdaemon helper
context to succeed. If the locked vnode which owns the buffer to be
writ

Reimplement r255797 using LK_TRYUPGRADE.

The r255797 was:
Increase the chance of the buffer write from the bufdaemon helper
context to succeed. If the locked vnode which owns the buffer to be
written is shared locked, try the non-blocking upgrade of the lock to
exclusive.

PR: kern/178997
Reported and tested by: Klaus Weber <fbsd-bugs-2013-1@unix-admin.de>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Approved by: re (glebius)

show more ...


Revision tags: release/9.2.0
# 12af71a6 22-Sep-2013 Konstantin Belousov <kib@FreeBSD.org>

Revert r255797. The LK_UPGRADE | LK_NOWAIT drops the lock.

Approved by: re (marius, implicit)


# d1f8ca48 22-Sep-2013 Konstantin Belousov <kib@FreeBSD.org>

Increase the chance of the buffer write from the bufdaemon helper
context to succeed. If the locked vnode which owns the buffer to be
written is shared locked, try the non-blocking upgrade of the lo

Increase the chance of the buffer write from the bufdaemon helper
context to succeed. If the locked vnode which owns the buffer to be
written is shared locked, try the non-blocking upgrade of the lock to
exclusive.

PR: kern/178997
Reported and tested by: Klaus Weber <fbsd-bugs-2013-1@unix-admin.de>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Approved by: re (marius)

show more ...


# ef90af83 20-Sep-2013 Peter Grehan <grehan@FreeBSD.org>

IFC @ r255692

Comment out IA32_MISC_ENABLE MSR access - this doesn't exist on AMD.
Need to sort out how arch-specific MSRs will be handled.


# d466a5b0 11-Sep-2013 Simon J. Gerraty <sjg@FreeBSD.org>

Merge head


1...<<11121314151617181920>>...65