<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/gnu, branch releng/7.3</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC r193923:</title>
<updated>2009-06-24T09:54:05+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-06-24T09:54:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0a0696c5a38d4ab6b6d6d9b37073dc76bde87168'/>
<id>0a0696c5a38d4ab6b6d6d9b37073dc76bde87168</id>
<content type='text'>
s/a_fdidx/a_fp/ for VOP_OPEN comments that inline struct vop_open_args
definition.

MFC r193924:
Fix r193923 by noting that type of a_fp is struct file *, not int.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
s/a_fdidx/a_fp/ for VOP_OPEN comments that inline struct vop_open_args
definition.

MFC r193924:
Fix r193923 by noting that type of a_fp is struct file *, not int.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r194296:</title>
<updated>2009-06-23T10:59:59+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-06-23T10:59:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=72debd9b5f1638aa4f1294edb76e31a991eb9c6b'/>
<id>72debd9b5f1638aa4f1294edb76e31a991eb9c6b</id>
<content type='text'>
Do not use casts (int *)0 and (struct thread *)0 for the arguments of
vn_rdwr, use NULL.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not use casts (int *)0 and (struct thread *)0 for the arguments of
vn_rdwr, use NULL.
</pre>
</div>
</content>
</entry>
<entry>
<title>- MFC r187395-187397,193377,193382,193390,193628.</title>
<updated>2009-06-19T16:27:41+00:00</updated>
<author>
<name>Stanislav Sedov</name>
<email>stas@FreeBSD.org</email>
</author>
<published>2009-06-19T16:27:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=05590a12f9df07855d3ceda9d1827e4af0c6bbf7'/>
<id>05590a12f9df07855d3ceda9d1827e4af0c6bbf7</id>
<content type='text'>
  Add support for inode sizes other than 128 bytes.
  Cleanup.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Add support for inode sizes other than 128 bytes.
  Cleanup.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r189878:</title>
<updated>2009-05-05T10:34:43+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-05-05T10:34:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a899912cb6771bc7eed8b56ab93f164212bcd74d'/>
<id>a899912cb6771bc7eed8b56ab93f164212bcd74d</id>
<content type='text'>
Fix two issues with bufdaemon, often causing the processes to hang in
the "nbufkv" sleep.

Do not retry request for the new block from ffs_bufwrite() when write is done
from bufdaemon and there is a buffer shortage.

In getnewbuf(), help bufdaemon to flush dirty buffers owned by the vnode
locked by curthread.

For MFC, default value for sysctl vfs.flushbufqtarget is set to -1,
disabling the helpers. The TDP_BUFNEED flag value from HEAD conflicts
with TDP_UPCALLING KSE bit, so it is moved to the end of allocated bits.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix two issues with bufdaemon, often causing the processes to hang in
the "nbufkv" sleep.

Do not retry request for the new block from ffs_bufwrite() when write is done
from bufdaemon and there is a buffer shortage.

In getnewbuf(), help bufdaemon to flush dirty buffers owned by the vnode
locked by curthread.

For MFC, default value for sysctl vfs.flushbufqtarget is set to -1,
disabling the helpers. The TDP_BUFNEED flag value from HEAD conflicts
with TDP_UPCALLING KSE bit, so it is moved to the end of allocated bits.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r186194:</title>
<updated>2009-03-01T11:02:37+00:00</updated>
<author>
<name>Edward Tomasz Napierala</name>
<email>trasz@FreeBSD.org</email>
</author>
<published>2009-03-01T11:02:37+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7e0c02494c43e12adc95f8cb028e7e5c057c3b52'/>
<id>7e0c02494c43e12adc95f8cb028e7e5c057c3b52</id>
<content type='text'>
According to phk@, VOP_STRATEGY should never, _ever_, return
anything other than 0.  Make it so.  This fixes
"panic: VOP_STRATEGY failed bp=0xc320dd90 vp=0xc3b9f648",
encountered when writing to an orphaned filesystem.  Reason
for the panic was the following assert:
KASSERT(i == 0, ("VOP_STRATEGY failed bp=%p vp=%p", bp, bp-&gt;b_vp));
at vfs_bio:bufstrategy().

Reviewed by:	scottl, phk
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to phk@, VOP_STRATEGY should never, _ever_, return
anything other than 0.  Make it so.  This fixes
"panic: VOP_STRATEGY failed bp=0xc320dd90 vp=0xc3b9f648",
encountered when writing to an orphaned filesystem.  Reason
for the panic was the following assert:
KASSERT(i == 0, ("VOP_STRATEGY failed bp=%p vp=%p", bp, bp-&gt;b_vp));
at vfs_bio:bufstrategy().

Reviewed by:	scottl, phk
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r183071:</title>
<updated>2009-01-29T11:38:28+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-01-29T11:38:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=e8b10b2a053cc3ab9215d9ce7687d7daf1152667'/>
<id>e8b10b2a053cc3ab9215d9ce7687d7daf1152667</id>
<content type='text'>
Garbage-collect vn_write_suspend_wait().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Garbage-collect vn_write_suspend_wait().
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r183211:</title>
<updated>2009-01-21T15:51:15+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-01-21T15:51:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=1a037be619deeea5bdabca65dc3324d61cbccaef'/>
<id>1a037be619deeea5bdabca65dc3324d61cbccaef</id>
<content type='text'>
Initialize birthtime fields in vn_stat() to prevent stat(2) from
returning uninitialized birthtime. Most file systems don't initialize
birthtime properly in their VOP_GETTATTR().

MFC r183212:
Initialize va_flags and va_filerev properly in VOP_GETATTR(). Don't
initialize va_vaflags and va_spare because they are not part of the
VOP_GETATTR() API. Also don't initialize birthtime to ctime or zero.

MFC rr183213:
Initialize va_rdev to NODEV and va_fsid to VNOVAL before the
VOP_GETATTR() call in vn_stat(). Thus if a file system doesn't
initialize those fields in VOP_GETATTR() they will have a sane default
value.

MFC r183214:
Initialize va_rdev to NODEV instead of 0 or VNOVAL in VOP_GETATTR().
NODEV is more appropriate when va_rdev doesn't have a meaningful value.

MFC r183215:
fdescfs, devfs, mqueuefs, nfs, portalfs, pseudofs, tmpfs and xfs
initialize the vattr structure in VOP_GETATTR() with VATTR_NULL(),
vattr_null() or by zeroing it. Remove these to allow preinitialization
of fields work in vn_stat(). This is needed to get birthtime initialized
correctly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Initialize birthtime fields in vn_stat() to prevent stat(2) from
returning uninitialized birthtime. Most file systems don't initialize
birthtime properly in their VOP_GETTATTR().

MFC r183212:
Initialize va_flags and va_filerev properly in VOP_GETATTR(). Don't
initialize va_vaflags and va_spare because they are not part of the
VOP_GETATTR() API. Also don't initialize birthtime to ctime or zero.

MFC rr183213:
Initialize va_rdev to NODEV and va_fsid to VNOVAL before the
VOP_GETATTR() call in vn_stat(). Thus if a file system doesn't
initialize those fields in VOP_GETATTR() they will have a sane default
value.

MFC r183214:
Initialize va_rdev to NODEV instead of 0 or VNOVAL in VOP_GETATTR().
NODEV is more appropriate when va_rdev doesn't have a meaningful value.

MFC r183215:
fdescfs, devfs, mqueuefs, nfs, portalfs, pseudofs, tmpfs and xfs
initialize the vattr structure in VOP_GETATTR() with VATTR_NULL(),
vattr_null() or by zeroing it. Remove these to allow preinitialization
of fields work in vn_stat(). This is needed to get birthtime initialized
correctly.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r186740:</title>
<updated>2009-01-18T11:47:39+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-01-18T11:47:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a46abf212dd690fbae1c538cc0c8aee529843276'/>
<id>a46abf212dd690fbae1c538cc0c8aee529843276</id>
<content type='text'>
Do not incorrectly add the low 5 bits of the offset to the resulting
position of the found zero bit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not incorrectly add the low 5 bits of the offset to the resulting
position of the found zero bit.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r178243:</title>
<updated>2008-08-01T09:46:19+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2008-08-01T09:46:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cb917b839b94adf81f241d51bcd2a1ce82161618'/>
<id>cb917b839b94adf81f241d51bcd2a1ce82161618</id>
<content type='text'>
Move the head of byte-level advisory lock list from the
filesystem-specific vnode data to the struct vnode. Provide the
default implementation for the vop_advlock and vop_advlockasync.
Purge the locks on the vnode reclaim by using the lf_purgelocks().
The default implementation is augmented for the nfs and smbfs.
In the nfs_advlock, push the Giant inside the nfs_dolock.

Before the change, the vop_advlock and vop_advlockasync have taken the
unlocked vnode and dereferenced the fs-private inode data, racing with
with the vnode reclamation due to forced unmount. Now, the vop_getattr
under the shared vnode lock is used to obtain the inode size, and
later, in the lf_advlockasync, after locking the vnode interlock, the
VI_DOOMED flag is checked to prevent an operation on the doomed vnode.

MFC r178247:
Fix compilation with LOCKF_DEBUG.

As was announced on the stable@, the MFC changes the VFS KBI on RELENG_7.

Approved by:	re (kensmith)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the head of byte-level advisory lock list from the
filesystem-specific vnode data to the struct vnode. Provide the
default implementation for the vop_advlock and vop_advlockasync.
Purge the locks on the vnode reclaim by using the lf_purgelocks().
The default implementation is augmented for the nfs and smbfs.
In the nfs_advlock, push the Giant inside the nfs_dolock.

Before the change, the vop_advlock and vop_advlockasync have taken the
unlocked vnode and dereferenced the fs-private inode data, racing with
with the vnode reclamation due to forced unmount. Now, the vop_getattr
under the shared vnode lock is used to obtain the inode size, and
later, in the lf_advlockasync, after locking the vnode interlock, the
VI_DOOMED flag is checked to prevent an operation on the doomed vnode.

MFC r178247:
Fix compilation with LOCKF_DEBUG.

As was announced on the stable@, the MFC changes the VFS KBI on RELENG_7.

Approved by:	re (kensmith)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC: Fix a nit with the 'nofoo' options where 'foo' is mapped to 'nonofoo'</title>
<updated>2008-04-03T18:51:13+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-04-03T18:51:13+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fe35b2374341b20011b8f55aacc74b1926c95d9f'/>
<id>fe35b2374341b20011b8f55aacc74b1926c95d9f</id>
<content type='text'>
so that filesystems will consider 'nonofoo' a valid option.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
so that filesystems will consider 'nonofoo' a valid option.
</pre>
</div>
</content>
</entry>
</feed>
