Project

General

Profile

Actions

Bug #1793

closed

tmpfs calling bawrite instead of buwrite

Added by alexh almost 14 years ago. Updated almost 14 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

While testing lvm root mounts, I've encountered an issue with tmpfs. In the
initrd environment I'm mounting /tmp and /var from tmpfs, and creating a small
directory structure on them. So far so good, but when lvm creates a bunch of
files on one of the mount points, the writes fail.
It seems buwrite() should be called, but bawrite is being called due to the
(uio->uio_segflg == UIO_NOCOPY) check in tmpfs_write.

These screenshots show the symptom:
http://img806.imageshack.us/img806/3512/screenshotdragonflybsdv.png
This second shot shows the relevant flags, etc that are used in the checks
whenever the tmpfs_write bwrite error message is called.
http://img696.imageshack.us/img696/3512/screenshotdragonflybsdv.png

And this is the commit that introduced that check:
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d89ce96a0788eaec175450e8
2a898f3764b99441?hp=b815802035a205b934ffd7e3b2487c7440e7e138

The initrd basically runs an extremely minimalistic /sbin/init that just
launches another extremely minimalistic /etc/rc, which just does the stuff
described above. No swap is activated at this time, of course. Also, there
should be no memory pressure whatsoever.

Actions #1

Updated by alexh almost 14 years ago

Fixed in b7545cb3ff9d0e0490a2453779b029252346d511.

Actions

Also available in: Atom PDF