<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/fs/devfs/devfs_vfsops.c, branch release/6.0.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2005-11-03T00:35:26+00:00</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2005-11-03T00:35:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3640cb54210edbb7edbf1b12ef0127ecfcea967d'/>
<id>3640cb54210edbb7edbf1b12ef0127ecfcea967d</id>
<content type='text'>
'RELENG_6_0_0_RELEASE'.

This commit was manufactured to restore the state of the 6.0-RELEASE image.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'RELENG_6_0_0_RELEASE'.

This commit was manufactured to restore the state of the 6.0-RELEASE image.
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>2005-09-26T14:36:54+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-09-26T14:36:54+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=02eb92cc0eb8efadf6e5fc5ac65a45a8b92d15bc'/>
<id>02eb92cc0eb8efadf6e5fc5ac65a45a8b92d15bc</id>
<content type='text'>
	DEVFS fixes of many sorts.

Approved by:	re@ (scottl)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	DEVFS fixes of many sorts.

Approved by:	re@ (scottl)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>2005-09-18T07:10:57+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-09-18T07:10:57+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5dc21d2be6f7413a9bb39502733d07949ef8f777'/>
<id>5dc21d2be6f7413a9bb39502733d07949ef8f777</id>
<content type='text'>
	Various fixes for DEVFS, in particular "devfs ruleset already running".

Approved by:	re@ (scottl)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Various fixes for DEVFS, in particular "devfs ruleset already running".

Approved by:	re@ (scottl)
</pre>
</div>
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>2005-07-29T23:21:23+00:00</updated>
<author>
<name>Kris Kennaway</name>
<email>kris@FreeBSD.org</email>
</author>
<published>2005-07-29T23:21:23+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=8c4009e8a3ad97bc7cb70ad44391eca2e13973a0'/>
<id>8c4009e8a3ad97bc7cb70ad44391eca2e13973a0</id>
<content type='text'>
&gt;  devfs is not yet fully MPSAFE - for example, multiple concurrent devfs(8)
&gt;  processes can cause a panic when operating on rulesets.

Approved by:	re (scottl)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
&gt;  devfs is not yet fully MPSAFE - for example, multiple concurrent devfs(8)
&gt;  processes can cause a panic when operating on rulesets.

Approved by:	re (scottl)
</pre>
</div>
</content>
</entry>
<entry>
<title> - Mark devfs as MNTK_MPSAFE as I belive it does not require Giant.</title>
<updated>2005-04-30T11:24:17+00:00</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2005-04-30T11:24:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cd360e947b31dfd43af0b29606bb77355571698b'/>
<id>cd360e947b31dfd43af0b29606bb77355571698b</id>
<content type='text'>
Sponsored by:	Isilon Systems, Inc.
Agreed in principle by:		phk
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sponsored by:	Isilon Systems, Inc.
Agreed in principle by:		phk
</pre>
</div>
</content>
</entry>
<entry>
<title> - LK_NOPAUSE is a nop now.</title>
<updated>2005-03-31T04:27:49+00:00</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2005-03-31T04:27:49+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=ea124bf597a595173b9cb63b09724877bd46f68e'/>
<id>ea124bf597a595173b9cb63b09724877bd46f68e</id>
<content type='text'>
Sponsored by:	Isilon Systems, Inc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sponsored by:	Isilon Systems, Inc.
</pre>
</div>
</content>
</entry>
<entry>
<title> - Update vfs_root implementations to match the new prototype.  None of</title>
<updated>2005-03-24T07:36:16+00:00</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2005-03-24T07:36:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d9b2d9f7a29757aedc9a26cbaee520cd505dca80'/>
<id>d9b2d9f7a29757aedc9a26cbaee520cd505dca80</id>
<content type='text'>
   these filesystems will support shared locks until they are explicitly
   modified to do so.  Careful review must be done to ensure that this
   is safe for each individual filesystem.

Sponsored by:	Isilon Systems, Inc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
   these filesystems will support shared locks until they are explicitly
   modified to do so.  Careful review must be done to ensure that this
   is safe for each individual filesystem.

Sponsored by:	Isilon Systems, Inc.
</pre>
</div>
</content>
</entry>
<entry>
<title>Silently ignore forced argument to unmount.</title>
<updated>2005-01-11T12:02:26+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-01-11T12:02:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7164e8f2917ad064becdadcbc3b5daf25d9dd7f6'/>
<id>7164e8f2917ad064becdadcbc3b5daf25d9dd7f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>/* -&gt; /*- for copyright notices, minor format tweaks as necessary</title>
<updated>2005-01-06T18:10:42+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2005-01-06T18:10:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d167cf6f3a474d20001eddfb1d7c672407ef2630'/>
<id>d167cf6f3a474d20001eddfb1d7c672407ef2630</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Unsupport forceful unmounts of DEVFS.</title>
<updated>2005-01-04T07:52:26+00:00</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-01-04T07:52:26+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=59f69ba49fc7721431bf3e7acd134b3cb68729c5'/>
<id>59f69ba49fc7721431bf3e7acd134b3cb68729c5</id>
<content type='text'>
After disscussing things I have decided to take the easy and
consistent 90% solution instead of aiming for the very involved 99%
solution.

If we allow forceful unmounts of DEVFS we need to decide how to handle
the devices which are in use through this filesystem at the time.

We cannot just readopt the open devices in the main /dev instance since
that would open us to security issues.

For the majority of the devices, this is relatively straightforward
as we can just pretend they got revoke(2)'ed.

Some devices get tricky:  /dev/console and /dev/tty for instance
does a sort of recursive open of the real console device.   Other devices
may be mmap'ed (kill the processes ?).

And then there are disk devices which are mounted.

The correct thing here would be to recursively unmount the filesystems
mounte from devices from our DEVFS instance (forcefully) and if
this succeeds, complete the forcefully unmount of DEVFS.  But if
one of the forceful unmounts fail we cannot complete the forceful
unmount of DEVFS, but we are likely to already have severed a lot
of stuff in the process of trying.

Event attempting this would be a lot of code for a very far out
corner-case which most people would never see or get in touch with.

It's just not worth it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After disscussing things I have decided to take the easy and
consistent 90% solution instead of aiming for the very involved 99%
solution.

If we allow forceful unmounts of DEVFS we need to decide how to handle
the devices which are in use through this filesystem at the time.

We cannot just readopt the open devices in the main /dev instance since
that would open us to security issues.

For the majority of the devices, this is relatively straightforward
as we can just pretend they got revoke(2)'ed.

Some devices get tricky:  /dev/console and /dev/tty for instance
does a sort of recursive open of the real console device.   Other devices
may be mmap'ed (kill the processes ?).

And then there are disk devices which are mounted.

The correct thing here would be to recursively unmount the filesystems
mounte from devices from our DEVFS instance (forcefully) and if
this succeeds, complete the forcefully unmount of DEVFS.  But if
one of the forceful unmounts fail we cannot complete the forceful
unmount of DEVFS, but we are likely to already have severed a lot
of stuff in the process of trying.

Event attempting this would be a lot of code for a very far out
corner-case which most people would never see or get in touch with.

It's just not worth it.
</pre>
</div>
</content>
</entry>
</feed>
