History log of /freebsd/sys/kern/vfs_bio.c (Results 551 – 575 of 1609)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# ba4f7c70 30-Apr-2005 Jeff Roberson <jeff@FreeBSD.org>

- Don't acquire Giant before calling b_biodone, individual consumers are
now required to do so themselves.

Sponsored by: Isilon Systems, Inc.


# 0d12524b 22-Apr-2005 Jeff Roberson <jeff@FreeBSD.org>

- Add two KASSERTs to prevent us from recycling a buf that is still on a
bufobj list.

Sponsored by: Isilon Systems, Inc.


# 6c759f35 25-Mar-2005 Jeff Roberson <jeff@FreeBSD.org>

- Add information about the buf lock to db_show_buffer.
- Add a 'show lockedbufs' command that is similar to show lockedvnods.

Sponsored by: Isilon Systems, Inc.


# ec346d10 08-Mar-2005 Jeff Roberson <jeff@FreeBSD.org>

- Lock access to the buffer_map with the vm_map lock. In 4.x this was
done with splbio, in 5.x this was done with Giant.

Discussed with: alc
Reported by: julian, pho


# 1ba21282 10-Feb-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Make various vnode related functions static


# 5c18d18b 10-Feb-2005 Jeff Roberson <jeff@FreeBSD.org>

- Add more information to the getnewbuf() recycling KTR.

Sponsored by: Isilon Systems, Inc.


# b56dc9a7 09-Feb-2005 Jeff Roberson <jeff@FreeBSD.org>

- Remove an invalid KASSERT added in recent background write reshuffling.

Sponsored by: Isilon Systems, Inc.


# dd19a799 08-Feb-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Background writes are entirely an FFS/Softupdates thing.

Give FFS vnodes a specific bufwrite method which contains all the
background write stuff and then calls into the default bufwrite()
for the r

Background writes are entirely an FFS/Softupdates thing.

Give FFS vnodes a specific bufwrite method which contains all the
background write stuff and then calls into the default bufwrite()
for the rest of the job.

Remove all the background write related stuff from the normal bufwrite.

This drags the softdep_move_dependencies() back into FFS.

Long term, it is worth looking at simply copying the data into
allocated memory and issuing the bio directly and not create the
"shadow buf" in the first place (just like copy-on-write is done
in snapshots for instance). I don't think we really gain anything
but complexity from doing this with a buf.

show more ...


# 83644466 05-Feb-2005 Jeff Roberson <jeff@FreeBSD.org>

- Don't release BKGRDINPROG until after we've bufdone'd the copy.

Sponsored by: Isilon Systems, Inc.


# bd8d684f 28-Jan-2005 Jeff Roberson <jeff@FreeBSD.org>

- Don't drop the wref on the bufobj until after bufdone() has completed.
Without this, threads waiting in bufobj_wwait() may wakeup prior to
bufdone() completing.

Sponsored by: Isilon Systems,

- Don't drop the wref on the bufobj until after bufdone() has completed.
Without this, threads waiting in bufobj_wwait() may wakeup prior to
bufdone() completing.

Sponsored by: Isilon Systems, Inc.

show more ...


# 8516dd18 25-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Don't use VOP_GETVOBJECT, use vp->v_object directly.


# 35764be3 24-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Kill the VV_OBJBUF and test the v_object for NULL instead.


# 71ddd673 24-Jan-2005 Jeff Roberson <jeff@FreeBSD.org>

- Add CTR calls to trace the lifecycle of a buffer.
- Remove some KASSERTs which are invalid if the appropriate lock is
not held.
- Slightly restructure bremfree() so that it is more sane.
- Ch

- Add CTR calls to trace the lifecycle of a buffer.
- Remove some KASSERTs which are invalid if the appropriate lock is
not held.
- Slightly restructure bremfree() so that it is more sane.
- Change the flush code in bdwrite() to avoid acquiring a mutex
whenever possible.
- Change the flush code in bdwrite() to avoid holding the bufobj mutex
while calling buf_countdeps(). This introduces a lock-order
relationship with the softdep lock that can not otherwise be resolved.
- Don't set B_DONE until bufdone() is complete, otherwise another
processor may believe the buf is done before it is.
- Only acquire Giant if the caller has set b_iodone. Don't grab giant
around normal bufdone() calls.

Sponsored By: Isilon Systems, Inc.

show more ...


Revision tags: release/4.11.0_cvs, release/4.11.0
# 6ef8480a 11-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Add BO_SYNC() and add a default which uses the secret vnode pointer
and VOP_FSYNC() for now.


# 8df6bac4 11-Jan-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Remove the unused credential argument from VOP_FSYNC() and VFS_SYNC().

I'm not sure why a credential was added to these in the first place, it is
not used anywhere and it doesn't make much sense:

Remove the unused credential argument from VOP_FSYNC() and VFS_SYNC().

I'm not sure why a credential was added to these in the first place, it is
not used anywhere and it doesn't make much sense:

The credentials for syncing a file (ability to write to the
file) should be checked at the system call level.

Credentials for syncing one or more filesystems ("none")
should be checked at the system call level as well.

If the filesystem implementation needs a particular credential
to carry out the syncing it would logically have to the
cached mount credential, or a credential cached along with
any delayed write data.

Discussed with: rwatson

show more ...


# b646893f 18-Nov-2004 Jeff Roberson <jeff@FreeBSD.org>

- Eliminate the acquisition and release of the bqlock in bremfree() by
setting the B_REMFREE flag in the buf. This is done to prevent lock order
reversals with code that must call bremfree() w

- Eliminate the acquisition and release of the bqlock in bremfree() by
setting the B_REMFREE flag in the buf. This is done to prevent lock order
reversals with code that must call bremfree() with a local lock held.
This also reduces overhead by removing two lock operations per buf for
fsync() and similar.
- Check for the B_REMFREE flag in brelse() and bqrelse() after the bqlock
has been acquired so that we may remove ourself from the free-list.
- Provide a bremfreef() function to immediately remove a buf from a
free-list for use only by NFS. This is done because the nfsclient code
overloads the b_freelist queue for its own async. io queue.
- Simplify the numfreebuffers accounting by removing a switch statement
that executed the same code in every possible case.
- getnewbuf() can encounter locked bufs on free-lists once Giant is removed.
Remove a panic associated with this condition and delay asserts that
inspect the buf until after it is locked.

Reviewed by: phk
Sponsored by: Isilon Systems, Inc.

show more ...


Revision tags: release/5.3.0_cvs, release/5.3.0
# 6e67e2a7 04-Nov-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Retire b_magic now, we have the bufobj containing the same hint.


# 9f7a3028 04-Nov-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Change buf->b_object to buf->b_bufobj->bo_object

some whitespace fixes.


# 9bc4d9a4 04-Nov-2004 Poul-Henning Kamp <phk@FreeBSD.org>

whitespace


# c5690651 04-Nov-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Remove buf->b_dev field.


# d19ef814 03-Nov-2004 Alan Cox <alc@FreeBSD.org>

The synchronization provided by vm object locking has eliminated the
need for most calls to vm_page_busy(). Specifically, most calls to
vm_page_busy() occur immediately prior to a call to vm_page_re

The synchronization provided by vm object locking has eliminated the
need for most calls to vm_page_busy(). Specifically, most calls to
vm_page_busy() occur immediately prior to a call to vm_page_remove().
In such cases, the containing vm object is locked across both calls.
Consequently, the setting of the vm page's PG_BUSY flag is not even
visible to other threads that are following the synchronization
protocol.

This change (1) eliminates the calls to vm_page_busy() that
immediately precede a call to vm_page_remove() or functions, such as
vm_page_free() and vm_page_rename(), that call it and (2) relaxes the
requirement in vm_page_remove() that the vm page's PG_BUSY flag is
set. Now, the vm page's PG_BUSY flag is set only when the vm object
lock is released while the vm page is still in transition. Typically,
this is when it is undergoing I/O.

show more ...


# 0cbda9df 29-Oct-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Remove the last call in the system to VOP_SPECSTRATEGY(): We can no
longer come through the VNODE layer to the disks since all the filesystems
now go via geom_vfs to GEOM.


# 6afb3b1c 29-Oct-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Give dev_strategy() an explict cdev argument in preparation for removing
buf->b-dev.

Put a bio between the buf passed to dev_strategy() and the device driver
strategy routine in order to not clobber

Give dev_strategy() an explict cdev argument in preparation for removing
buf->b-dev.

Put a bio between the buf passed to dev_strategy() and the device driver
strategy routine in order to not clobber fields in the buf.

Assert copyright on vfs_bio.c and update copyright message to canonical
text. There is no legal difference between John Dysons two-clause
abbreviated BSD license and the canonical text.

show more ...


# c5995e45 28-Oct-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Lock bp->b_bufobj->b_object instead of bp->b_object


# 6e77a041 26-Oct-2004 Poul-Henning Kamp <phk@FreeBSD.org>

The island council met and voted buf_prewrite() home.

Give ffs it's own bufobj->bo_ops vector and create a private strategy
routine, (currently misnamed for forwards compatibility), which is
just a

The island council met and voted buf_prewrite() home.

Give ffs it's own bufobj->bo_ops vector and create a private strategy
routine, (currently misnamed for forwards compatibility), which is
just a copy of the generic bufstrategy routine except we call
softdep_disk_prewrite() directly instead of through the buf_prewrite()
indirection.

Teach UFS about the need for softdep_disk_prewrite() and call the
function directly in FFS.

Remove buf_prewrite() from the default bufstrategy() and from the
global bio_ops method vector.

show more ...


1...<<21222324252627282930>>...65