[Bug 198789] Panic while mounting an NANDFS filesystem

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Mar 28 17:38:00 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198789

--- Comment #1 from Stefan Berndt <stefan.berndt at imoriath.com> ---
After some research i figured something out. Seems the used buffers are moved
from in-core to not-in-core. The function "getblk" in src/sys/kern/vfs_bio.c
(line 3064-3308) now needs to create a new buffer instead of using a existing
in-core-buffer. This requires an correct set sector size in line 3230, but it
is 0.

Index: src/sys/fs/nandfs/nandfs_subr.c
===================================================================
--- src/sys/fs/nandfs/nandfs_subr.c    (revision 280320)
+++ src/sys/fs/nandfs/nandfs_subr.c    (working copy)
@@ -210,6 +210,9 @@
     DPRINTF(BLOCK, ("%s: vp:%p lbn:%#jx\n", __func__, NTOV(node),
         blocknr));

+    if (node->nn_vnode->v_bufobj.bo_bsize == 0)
+        node->nn_vnode->v_bufobj.bo_bsize = 512;
+
     error = bread(NTOV(node), blocknr, node->nn_nandfsdev->nd_blocksize,
         cred, bpp);


This does the job, it is now working, but i don't belive it's the right way to
do this.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-fs mailing list