<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/msdosfs, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2001-05-25T08:14:14Z</updated>
<entry>
<title>- sys/msdosfs moved to sys/fs/msdosfs</title>
<updated>2001-05-25T08:14:14Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2001-05-25T08:14:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1166fb516bcab6af5f87763ab7a68b7b1416ecbb'/>
<id>urn:sha1:1166fb516bcab6af5f87763ab7a68b7b1416ecbb</id>
<content type='text'>
- msdos.ko renamed to msdosfs.ko
- /usr/include/msdosfs moved to /usr/include/fs/msdosfs
</content>
</entry>
<entry>
<title>Change the second argument of vflush() to an integer that specifies</title>
<updated>2001-05-16T18:04:37Z</updated>
<author>
<name>Ian Dowse</name>
<email>iedowse@FreeBSD.org</email>
</author>
<published>2001-05-16T18:04:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=0864ef1e8a449b1533c7e0ea673e9614aaa9a81f'/>
<id>urn:sha1:0864ef1e8a449b1533c7e0ea673e9614aaa9a81f</id>
<content type='text'>
the number of references on the filesystem root vnode to be both
expected and released. Many filesystems hold an extra reference on
the filesystem root vnode, which must be accounted for when
determining if the filesystem is busy and then released if it isn't
busy. The old `skipvp' approach required individual filesystem
xxx_unmount functions to re-implement much of vflush()'s logic to
deal with the root vnode.

All 9 filesystems that hold an extra reference on the root vnode
got the logic wrong in the case of forced unmounts, so `umount -f'
would always fail if there were any extra root vnode references.
Fix this issue centrally in vflush(), now that we can.

This commit also fixes a vnode reference leak in devfs, which could
result in idle devfs filesystems that refuse to unmount.

Reviewed by:	phk, bp
</content>
</entry>
<entry>
<title>Implement vop_std{get|put}pages() and add them to the default vop[].</title>
<updated>2001-05-01T08:34:45Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2001-05-01T08:34:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a62615e59b534bdff3e04431b7ee4202ba7bd94d'/>
<id>urn:sha1:a62615e59b534bdff3e04431b7ee4202ba7bd94d</id>
<content type='text'>
Un-copy&amp;paste all the VOP_{GET|PUT}PAGES() functions which do nothing but
the default.
</content>
</entry>
<entry>
<title>Revert consequences of changes to mount.h, part 2.</title>
<updated>2001-04-29T02:45:39Z</updated>
<author>
<name>Greg Lehey</name>
<email>grog@FreeBSD.org</email>
</author>
<published>2001-04-29T02:45:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=60fb0ce3657fa4a58498ef506f55f89e3acef6af'/>
<id>urn:sha1:60fb0ce3657fa4a58498ef506f55f89e3acef6af</id>
<content type='text'>
Requested by:	bde
</content>
</entry>
<entry>
<title>Move the netexport structure from the fs-specific mountstructure</title>
<updated>2001-04-25T07:07:52Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2001-04-25T07:07:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a13234bb35c2671d47ec5b12eb613bb5d62121f2'/>
<id>urn:sha1:a13234bb35c2671d47ec5b12eb613bb5d62121f2</id>
<content type='text'>
to struct mount.

This makes the "struct netexport *" paramter to the vfs_export
and vfs_checkexport interface unneeded.

Consequently that all non-stacking filesystems can use
vfs_stdcheckexp().

At the same time, make it a pointer to a struct netexport
in struct mount, so that we can remove the bogus AF_MAX
and #include &lt;net/radix.h&gt; from &lt;sys/mount.h&gt;
</content>
</entry>
<entry>
<title>Correct #includes to work with fixed sys/mount.h.</title>
<updated>2001-04-23T09:05:15Z</updated>
<author>
<name>Greg Lehey</name>
<email>grog@FreeBSD.org</email>
</author>
<published>2001-04-23T09:05:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d98dc34f523c46cf3aa2c86a70166af88a26b2cb'/>
<id>urn:sha1:d98dc34f523c46cf3aa2c86a70166af88a26b2cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Grab the process lock while calling psignal and before calling psignal.</title>
<updated>2001-03-07T03:37:06Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2001-03-07T03:37:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=19eb87d22a5314e238867d1e30894cc9dadf3ec4'/>
<id>urn:sha1:19eb87d22a5314e238867d1e30894cc9dadf3ec4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reviewed by:	jlemon</title>
<updated>2001-03-01T21:00:17Z</updated>
<author>
<name>Adrian Chadd</name>
<email>adrian@FreeBSD.org</email>
</author>
<published>2001-03-01T21:00:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f3a90da99535deaf4e33d660ac83e7126a20a20f'/>
<id>urn:sha1:f3a90da99535deaf4e33d660ac83e7126a20a20f</id>
<content type='text'>
An initial tidyup of the mount() syscall and VFS mount code.

This code replaces the earlier work done by jlemon in an attempt to
make linux_mount() work.

* the guts of the mount work has been moved into vfs_mount().

* move `type', `path' and `flags' from being userland variables into being
  kernel variables in vfs_mount(). `data' remains a pointer into
  userspace.

* Attempt to verify the `type' and `path' strings passed to vfs_mount()
  aren't too long.

* rework mount() and linux_mount() to take the userland parameters
  (besides data, as mentioned) and pass kernel variables to vfs_mount().
  (linux_mount() already did this, I've just tidied it up a little more.)

* remove the copyin*() stuff for `path'. `data' still requires copyin*()
  since its a pointer into userland.

* set `mount-&gt;mnt_statf_mntonname' in vfs_mount() rather than in each
  filesystem.  This variable is generally initialised with `path', and
  each filesystem can override it if they want to.

* NOTE: f_mntonname is intiailised with "/" in the case of a root mount.
</content>
</entry>
<entry>
<title>Change and clean the mutex lock interface.</title>
<updated>2001-02-09T06:11:45Z</updated>
<author>
<name>Bosko Milekic</name>
<email>bmilekic@FreeBSD.org</email>
</author>
<published>2001-02-09T06:11:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=9ed346bab02c967ac656a58bc024f9505d8e3d7a'/>
<id>urn:sha1:9ed346bab02c967ac656a58bc024f9505d8e3d7a</id>
<content type='text'>
mtx_enter(lock, type) becomes:

mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks)
mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)

similarily, for releasing a lock, we now have:

mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN.
We change the caller interface for the two different types of locks
because the semantics are entirely different for each case, and this
makes it explicitly clear and, at the same time, it rids us of the
extra `type' argument.

The enter-&gt;lock and exit-&gt;unlock change has been made with the idea
that we're "locking data" and not "entering locked code" in mind.

Further, remove all additional "flags" previously passed to the
lock acquire/release routines with the exception of two:

MTX_QUIET and MTX_NOSWITCH

The functionality of these flags is preserved and they can be passed
to the lock/unlock routines by calling the corresponding wrappers:

mtx_{lock, unlock}_flags(lock, flag(s)) and
mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN
locks, respectively.

Re-inline some lock acq/rel code; in the sleep lock case, we only
inline the _obtain_lock()s in order to ensure that the inlined code
fits into a cache line. In the spin lock case, we inline recursion and
actually only perform a function call if we need to spin. This change
has been made with the idea that we generally tend to avoid spin locks
and that also the spin locks that we do have and are heavily used
(i.e. sched_lock) do recurse, and therefore in an effort to reduce
function call overhead for some architectures (such as alpha), we
inline recursion for this case.

Create a new malloc type for the witness code and retire from using
the M_DEV type. The new type is called M_WITNESS and is only declared
if WITNESS is enabled.

Begin cleaning up some machdep/mutex.h code - specifically updated the
"optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN
and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently
need those.

Finally, caught up to the interface changes in all sys code.

Contributors: jake, jhb, jasone (in no particular order)
</content>
</entry>
<entry>
<title>Fix typo: seperate -&gt; separate.</title>
<updated>2001-02-06T11:21:58Z</updated>
<author>
<name>Jeroen Ruigrok van der Werven</name>
<email>asmodai@FreeBSD.org</email>
</author>
<published>2001-02-06T11:21:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1a6e52d0e9c7e370830555d206030e479d4a6d1a'/>
<id>urn:sha1:1a6e52d0e9c7e370830555d206030e479d4a6d1a</id>
<content type='text'>
Seperate does not exist in the english language.
</content>
</entry>
</feed>
