This commit is contained in:
Frans Kaashoek 2019-08-17 12:52:25 -04:00
parent e61377bf8a
commit a9953236cc

View file

@ -181,15 +181,16 @@ add <tt>$(QEMUEXTRA)</tt> to the end of <tt>QEMUOPTS</tt>.
<h2>umount</h2> <h2>umount</h2>
<p>Once your kernel passes usertests and test0 of mounttest, implement <p>Once your kernel passes usertests and test0 of mounttest, implement
umount. The main challenge is mount should fail if the file system umount. The main challenge is that umount of a file system should
is still in use; that is, if there is an inode on the mounted device fail if the file system is still in use; that is, if there is an
that has a <tt>ref > 0</tt>. Furthermore, this test and unmounting inode on the mounted device that has a <tt>ref > 0</tt>.
should be a atomic operation. (Hint: lock the inode cache.) Make Furthermore, this test and unmounting should be an atomic
sure your kernel can pass test1 of mounttest. operation. (Hint: lock the inode cache.) Make sure your kernel
passes test1 of mounttest.
<p>Test2 of mounttest stresses <namex> more; if you have done <p>Test2 of mounttest stresses <tt>namex</tt> more; if you have done
everything right above, your kernel may be able to pass it. Test3 everything right above, your kernel should pass it. Test3 tests
tests concurrent mount/unmounts with file creation. concurrent mount/unmounts with file creation.
<h2>crash safety</h2> <h2>crash safety</h2>