New submission from Alex Hornung <ahorn...@gmail.com>: 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. ---------- messages: 8714 nosy: alexh status: unread title: tmpfs calling bawrite instead of buwrite _____________________________________________________ DragonFly issue tracker <b...@lists.dragonflybsd.org> <http://bugs.dragonflybsd.org/issue1793> _____________________________________________________