<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/gnu, branch stable/8</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>MFC r287698: Fixing a memory leak on module unloading.</title>
<updated>2015-10-24T19:05:19+00:00</updated>
<author>
<name>Tai-hwa Liang</name>
<email>avatar@FreeBSD.org</email>
</author>
<published>2015-10-24T19:05:19+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3ff71d94e7d64b21e9aa7dbb2f8c0e3301cae2c6'/>
<id>3ff71d94e7d64b21e9aa7dbb2f8c0e3301cae2c6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r238980:</title>
<updated>2015-10-07T09:39:45+00:00</updated>
<author>
<name>Tai-hwa Liang</name>
<email>avatar@FreeBSD.org</email>
</author>
<published>2015-10-07T09:39:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=890be803e76fef06e1b8bd718d175734336a8038'/>
<id>890be803e76fef06e1b8bd718d175734336a8038</id>
<content type='text'>
  Just like the other file systems found in /sys/fs, g_vfs_open()
should be paried with g_vfs_close().  Though g_vfs_close() is a wrapper
around g_wither_geom_close(), r206130 added the following test in
g_vfs_open():

	if (bo-&gt;bo_private != vp)
		return (EBUSY);

  Which will cause a 'Device busy' error inside reiserfs_mountfs() if
the same file system is re-mounted again after umount or mounting failure:

	(case 1, /dev/ad4s3 is not a valid REISERFS partition)
	# mount -t reiserfs -o ro /dev/ad4s3 /mnt
	mount: /dev/ad4s3: Invalid argument
	# mount -t msdosfs -o ro /dev/ad4s3 /mnt
	mount: /dev/ad4s3: Device busy

	(case 2, /dev/ad4s3 is a valid REISERFS partition)
	# mount -t reiserfs -o ro /dev/ad4s3 /mnt
	# umount /mnt
	# mount -t reiserfs -o ro /dev/ad4s3 /mnt
	mount: /dev/ad4s3: Device busy

  On the other hand, g_vfs_close() 'fixed' the above cases by doing an
extra step to keep 'sc-&gt;sc_bo-&gt;bo_private' and 'cp-&gt;private' pointers
synchronised.

Reviewed by:	kib
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Just like the other file systems found in /sys/fs, g_vfs_open()
should be paried with g_vfs_close().  Though g_vfs_close() is a wrapper
around g_wither_geom_close(), r206130 added the following test in
g_vfs_open():

	if (bo-&gt;bo_private != vp)
		return (EBUSY);

  Which will cause a 'Device busy' error inside reiserfs_mountfs() if
the same file system is re-mounted again after umount or mounting failure:

	(case 1, /dev/ad4s3 is not a valid REISERFS partition)
	# mount -t reiserfs -o ro /dev/ad4s3 /mnt
	mount: /dev/ad4s3: Invalid argument
	# mount -t msdosfs -o ro /dev/ad4s3 /mnt
	mount: /dev/ad4s3: Device busy

	(case 2, /dev/ad4s3 is a valid REISERFS partition)
	# mount -t reiserfs -o ro /dev/ad4s3 /mnt
	# umount /mnt
	# mount -t reiserfs -o ro /dev/ad4s3 /mnt
	mount: /dev/ad4s3: Device busy

  On the other hand, g_vfs_close() 'fixed' the above cases by doing an
extra step to keep 'sc-&gt;sc_bo-&gt;bo_private' and 'cp-&gt;private' pointers
synchronised.

Reviewed by:	kib
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r286888: Using consistent coding style to deal with error inside the loop.</title>
<updated>2015-09-14T15:47:25+00:00</updated>
<author>
<name>Tai-hwa Liang</name>
<email>avatar@FreeBSD.org</email>
</author>
<published>2015-09-14T15:47:25+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7503a2271dff4766273a4c6612ca39cbbbf0eb71'/>
<id>7503a2271dff4766273a4c6612ca39cbbbf0eb71</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC 246417,247116,248584:</title>
<updated>2013-05-30T19:24:29+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2013-05-30T19:24:29+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=253dc092a966f713906bda22560d3675b80b2360'/>
<id>253dc092a966f713906bda22560d3675b80b2360</id>
<content type='text'>
Rework the handling of stop signals in the NFS client.  The changes in
195702, 195703, and 195821 prevented a thread from suspending while holding
locks inside of NFS by forcing the thread to fail sleeps with EINTR or
ERESTART but defer the thread suspension to the user boundary.  However,
this had the effect that stopping a process during an NFS request could
abort the request and trigger EINTR errors that were visible to userland
processes (previously the thread would have suspended and completed the
request once it was resumed).

This change instead effectively masks stop signals while in the NFS client.
It uses the existing TDF_SBDRY flag to effect this since SIGSTOP cannot
be masked directly.  Instead of setting PBDRY on individual sleeps, change
the VFS_*() and VOP_*() methods to defer stop signals for filesystems which
request this behavior via a new VFCF_SBDRY flag.  Note that this has to be
a VFC flag rather than a MNTK flag so that it works properly with
VFS_MOUNT() when the mount is not yet fully constructed.  For now, only the
NFS clients set this new flag in VFS_SET().

A few other related changes:
- Add an assertion to ensure that TDF_SBDRY doesn't leak to userland.
- When a lookup request uses VOP_READLINK() to follow a symlink, mark
  the request as being on behalf of the thread performing the lookup
  (cnp_thread) rather than using a NULL thread pointer.  This causes
  NFS to properly handle signals during this VOP on an interruptible
  mount.
- Ignore thread suspend requests due to SIGSTOP if stop signals are
  currently deferred.  This can occur if a process is stopped via
  SIGSTOP while a thread is running or runnable but before it has set
  TDF_SBDRY.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rework the handling of stop signals in the NFS client.  The changes in
195702, 195703, and 195821 prevented a thread from suspending while holding
locks inside of NFS by forcing the thread to fail sleeps with EINTR or
ERESTART but defer the thread suspension to the user boundary.  However,
this had the effect that stopping a process during an NFS request could
abort the request and trigger EINTR errors that were visible to userland
processes (previously the thread would have suspended and completed the
request once it was resumed).

This change instead effectively masks stop signals while in the NFS client.
It uses the existing TDF_SBDRY flag to effect this since SIGSTOP cannot
be masked directly.  Instead of setting PBDRY on individual sleeps, change
the VFS_*() and VOP_*() methods to defer stop signals for filesystems which
request this behavior via a new VFCF_SBDRY flag.  Note that this has to be
a VFC flag rather than a MNTK flag so that it works properly with
VFS_MOUNT() when the mount is not yet fully constructed.  For now, only the
NFS clients set this new flag in VFS_SET().

A few other related changes:
- Add an assertion to ensure that TDF_SBDRY doesn't leak to userland.
- When a lookup request uses VOP_READLINK() to follow a symlink, mark
  the request as being on behalf of the thread performing the lookup
  (cnp_thread) rather than using a NULL thread pointer.  This causes
  NFS to properly handle signals during this VOP on an interruptible
  mount.
- Ignore thread suspend requests due to SIGSTOP if stop signals are
  currently deferred.  This can occur if a process is stopped via
  SIGSTOP while a thread is running or runnable but before it has set
  TDF_SBDRY.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r231075:</title>
<updated>2012-02-21T00:32:24+00:00</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-02-21T00:32:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=62cf380bdede99a27704065ea57e81014948c6f6'/>
<id>62cf380bdede99a27704065ea57e81014948c6f6</id>
<content type='text'>
Instead of removing MNTK_ASYNC from mnt_kern_flag, provide a local
thread flag to disable async i/o for current thread only. Use the
opportunity to move DOINGASYNC() macro into sys/vnode.h and
consistently use it through places which tested for MNTK_ASYNC.

MFC r231204:
Unbreak detection of the async mode for clustered writes after r231075.

Approved by:	re (bz)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of removing MNTK_ASYNC from mnt_kern_flag, provide a local
thread flag to disable async i/o for current thread only. Use the
opportunity to move DOINGASYNC() macro into sys/vnode.h and
consistently use it through places which tested for MNTK_ASYNC.

MFC r231204:
Unbreak detection of the async mode for clustered writes after r231075.

Approved by:	re (bz)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC:	r230897</title>
<updated>2012-02-05T20:18:53+00:00</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2012-02-05T20:18:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=65b8b65c9b76007307218d8bbeac146b4c3cef66'/>
<id>65b8b65c9b76007307218d8bbeac146b4c3cef66</id>
<content type='text'>
Use new OSS-based BSD-licensed header for cs sound driver.

The cs driver requires a table with firmware values. An
alternative firmware is available in a similar Open Sound
System driver. This is actually a partial revert of
Revision 77504.

The csa driver is now free of the GPL.

Tested by:	joel
Approved by:	jhb (mentor)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use new OSS-based BSD-licensed header for cs sound driver.

The cs driver requires a table with firmware values. An
alternative firmware is available in a similar Open Sound
System driver. This is actually a partial revert of
Revision 77504.

The csa driver is now free of the GPL.

Tested by:	joel
Approved by:	jhb (mentor)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC:	 r229981, r230898</title>
<updated>2012-02-03T23:00:28+00:00</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2012-02-03T23:00:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a116ce5deae2b1b2a11c479d7527faad6d626c68'/>
<id>a116ce5deae2b1b2a11c479d7527faad6d626c68</id>
<content type='text'>
Replace a GPL'd header in the emu10kx snd driver code.

This uses the emuxkireg.h already used in the emu10k1
snd driver. Special thanks go to Alexander Motin as
he was able to find some errors and reverse engineer
some wrong values in the emuxkireg header.

While here also merge some cleanups to the module Makefile.

PR:		153901
Obtained from:	NetBSD
Approved by:	core (mentor implicit)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace a GPL'd header in the emu10kx snd driver code.

This uses the emuxkireg.h already used in the emu10k1
snd driver. Special thanks go to Alexander Motin as
he was able to find some errors and reverse engineer
some wrong values in the emuxkireg header.

While here also merge some cleanups to the module Makefile.

PR:		153901
Obtained from:	NetBSD
Approved by:	core (mentor implicit)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r207662 (trasz):</title>
<updated>2011-09-02T07:37:55+00:00</updated>
<author>
<name>Martin Matuska</name>
<email>mm@FreeBSD.org</email>
</author>
<published>2011-09-02T07:37:55+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8b771f28bed78d10f72b121d53f8ec9fbe20c2d1'/>
<id>8b771f28bed78d10f72b121d53f8ec9fbe20c2d1</id>
<content type='text'>
Move checking against RLIMIT_FSIZE into one place, vn_rlimit_fsize().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move checking against RLIMIT_FSIZE into one place, vn_rlimit_fsize().
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC r218909:</title>
<updated>2011-02-24T10:23:22+00:00</updated>
<author>
<name>Rebecca Cran</name>
<email>brucec@FreeBSD.org</email>
</author>
<published>2011-02-24T10:23:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=252b710c510f1981e5acfd15f436d31080c011e1'/>
<id>252b710c510f1981e5acfd15f436d31080c011e1</id>
<content type='text'>
Fix typos - remove duplicate "the".

PR:		bin/154928
Submitted by:	Eitan Adler &lt;lists at eitanadler.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix typos - remove duplicate "the".

PR:		bin/154928
Submitted by:	Eitan Adler &lt;lists at eitanadler.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC 217702:</title>
<updated>2011-01-28T20:21:41+00:00</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2011-01-28T20:21:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5a6f19677fff5c331763d5d1633b7763a30f62d0'/>
<id>5a6f19677fff5c331763d5d1633b7763a30f62d0</id>
<content type='text'>
Restore support for the 'async' and 'sync' mount options lost when
switching to nmount(2).  While here, sort the options.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Restore support for the 'async' and 'sync' mount options lost when
switching to nmount(2).  While here, sort the options.
</pre>
</div>
</content>
</entry>
</feed>
