Print this page
10262 excessive page destruction caused by 6602
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Mike Gerdts <mike.gerdts@joyent.com>
Reviewed by: Ryan Zezeski <rpz@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>

*** 22,31 **** --- 22,32 ---- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. * * Copyright 2013 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2016 Andrey Sokolov * Copyright 2016 Toomas Soome <tsoome@me.com> + * Copyright 2019 Joyent, Inc. */ /* * lofi (loopback file) driver - allows you to attach a file to a device, * which can then be accessed through that device. The simple model is that
*** 551,561 **** kmem_free(lsp->ls_comp_bufs, sizeof (struct compbuf) * lofi_taskq_nthreads); } if (lsp->ls_vp != NULL) { ! (void) VOP_PUTPAGE(lsp->ls_vp, 0, 0, B_INVAL, credp, NULL); (void) VOP_CLOSE(lsp->ls_vp, lsp->ls_openflag, 1, 0, credp, NULL); VN_RELE(lsp->ls_vp); } if (lsp->ls_stacked_vp != lsp->ls_vp) --- 552,562 ---- kmem_free(lsp->ls_comp_bufs, sizeof (struct compbuf) * lofi_taskq_nthreads); } if (lsp->ls_vp != NULL) { ! (void) VOP_PUTPAGE(lsp->ls_vp, 0, 0, B_FREE, credp, NULL); (void) VOP_CLOSE(lsp->ls_vp, lsp->ls_openflag, 1, 0, credp, NULL); VN_RELE(lsp->ls_vp); } if (lsp->ls_stacked_vp != lsp->ls_vp)
*** 2932,2942 **** err: if (lsp != NULL) { lofi_destroy(lsp, credp); } else { if (vp != NULL) { ! (void) VOP_PUTPAGE(vp, 0, 0, B_INVAL, credp, NULL); (void) VOP_CLOSE(vp, flag, 1, 0, credp, NULL); VN_RELE(vp); } } --- 2933,2943 ---- err: if (lsp != NULL) { lofi_destroy(lsp, credp); } else { if (vp != NULL) { ! (void) VOP_PUTPAGE(vp, 0, 0, B_FREE, credp, NULL); (void) VOP_CLOSE(vp, flag, 1, 0, credp, NULL); VN_RELE(vp); } }