++ /* Verify that it is not an in-use or non-empty directory. */
++ if (inode_get_type (inode) == DIR_INODE)
++ {
++ struct dir_entry e2;
++ off_t pos;
++
++ if (inode_open_cnt (inode) != 1)
++ goto done;
++
++ inode_lock (inode);
++ for (pos = 0; inode_read_at (inode, &e2, sizeof e2, pos) == sizeof e2;
++ pos += sizeof e2)
++ if (e2.in_use && strcmp (e2.name, ".") && strcmp (e2.name, ".."))
++ {
++ inode_unlock (inode);
++ goto done;
++ }
++ inode_unlock (inode);
++ }
++