FreeBSD Bugzilla – Attachment 202317 Details for
Bug 235708
panic: vnode_pager_generic_getpages: sector size 8192 too large
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
proposed patch
patch_getpages (text/plain), 2.19 KB, created by
Jason A. Harmening
on 2019-02-24 08:14:46 UTC
(
hide
)
Description:
proposed patch
Filename:
MIME Type:
Creator:
Jason A. Harmening
Created:
2019-02-24 08:14:46 UTC
Size:
2.19 KB
patch
obsolete
>Index: sys/vm/vnode_pager.c >=================================================================== >--- sys/vm/vnode_pager.c (revision 344237) >+++ sys/vm/vnode_pager.c (working copy) >@@ -793,7 +793,7 @@ > > KASSERT(foff < object->un_pager.vnp.vnp_size, > ("%s: page %p offset beyond vp %p size", __func__, m[0], vp)); >- KASSERT(count <= sizeof(bp->b_pages), >+ KASSERT(count <= nitems(bp->b_pages), > ("%s: requested %d pages", __func__, count)); > > /* >Index: sys/ufs/ffs/ffs_vnops.c >=================================================================== >--- sys/ufs/ffs/ffs_vnops.c (revision 344237) >+++ sys/ufs/ffs/ffs_vnops.c (working copy) >@@ -111,6 +111,7 @@ > static vop_fdatasync_t ffs_fdatasync; > static vop_fsync_t ffs_fsync; > static vop_getpages_t ffs_getpages; >+static vop_getpages_async_t ffs_getpages_async; > static vop_lock1_t ffs_lock; > static vop_read_t ffs_read; > static vop_write_t ffs_write; >@@ -132,7 +133,7 @@ > .vop_fsync = ffs_fsync, > .vop_fdatasync = ffs_fdatasync, > .vop_getpages = ffs_getpages, >- .vop_getpages_async = vnode_pager_local_getpages_async, >+ .vop_getpages_async = ffs_getpages_async, > .vop_lock1 = ffs_lock, > .vop_read = ffs_read, > .vop_reallocblks = ffs_reallocblks, >@@ -154,7 +155,7 @@ > .vop_fsync = ffs_fsync, > .vop_fdatasync = ffs_fdatasync, > .vop_getpages = ffs_getpages, >- .vop_getpages_async = vnode_pager_local_getpages_async, >+ .vop_getpages_async = ffs_getpages_async, > .vop_lock1 = ffs_lock, > .vop_read = ffs_read, > .vop_reallocblks = ffs_reallocblks, >@@ -1742,3 +1743,25 @@ > return (vfs_bio_getpages(vp, ap->a_m, ap->a_count, ap->a_rbehind, > ap->a_rahead, ffs_gbp_getblkno, ffs_gbp_getblksz)); > } >+ >+static int >+ffs_getpages_async(struct vop_getpages_async_args *ap) >+{ >+ struct vnode *vp; >+ struct ufsmount *um; >+ int error; >+ >+ vp = ap->a_vp; >+ um = VFSTOUFS(vp->v_mount); >+ >+ if (um->um_devvp->v_bufobj.bo_bsize <= PAGE_SIZE) >+ return (vnode_pager_generic_getpages(vp, ap->a_m, ap->a_count, >+ ap->a_rbehind, ap->a_rahead, ap->a_iodone, ap->a_arg)); >+ >+ error = vfs_bio_getpages(vp, ap->a_m, ap->a_count, ap->a_rbehind, >+ ap->a_rahead, ffs_gbp_getblkno, ffs_gbp_getblksz); >+ ap->a_iodone(ap->a_arg, ap->a_m, ap->a_count, error); >+ >+ return (error); >+} >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 235708
: 202317