vfs_default.c (178243) | vfs_default.c (182371) |
---|---|
1/*- 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed 6 * to Berkeley by John Heidemann of the UCLA Ficus project. 7 * 8 * Source: * @(#)i405_init.c 2.10 92/04/27 UCLA Ficus project --- 19 unchanged lines hidden (view full) --- 28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32 * SUCH DAMAGE. 33 */ 34 35#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed 6 * to Berkeley by John Heidemann of the UCLA Ficus project. 7 * 8 * Source: * @(#)i405_init.c 2.10 92/04/27 UCLA Ficus project --- 19 unchanged lines hidden (view full) --- 28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32 * SUCH DAMAGE. 33 */ 34 35#include <sys/cdefs.h> |
36__FBSDID("$FreeBSD: head/sys/kern/vfs_default.c 178243 2008-04-16 11:33:32Z kib $"); | 36__FBSDID("$FreeBSD: head/sys/kern/vfs_default.c 182371 2008-08-28 15:23:18Z attilio $"); |
37 38#include <sys/param.h> 39#include <sys/systm.h> 40#include <sys/bio.h> 41#include <sys/buf.h> 42#include <sys/conf.h> 43#include <sys/event.h> 44#include <sys/kernel.h> --- 158 unchanged lines hidden (view full) --- 203} 204 205/* 206 * Advisory record locking support 207 */ 208int 209vop_stdadvlock(struct vop_advlock_args *ap) 210{ | 37 38#include <sys/param.h> 39#include <sys/systm.h> 40#include <sys/bio.h> 41#include <sys/buf.h> 42#include <sys/conf.h> 43#include <sys/event.h> 44#include <sys/kernel.h> --- 158 unchanged lines hidden (view full) --- 203} 204 205/* 206 * Advisory record locking support 207 */ 208int 209vop_stdadvlock(struct vop_advlock_args *ap) 210{ |
211 struct vnode *vp = ap->a_vp; 212 struct thread *td = curthread; | 211 struct vnode *vp; 212 struct ucred *cred; |
213 struct vattr vattr; 214 int error; 215 | 213 struct vattr vattr; 214 int error; 215 |
216 vp = ap->a_vp; 217 cred = curthread->td_ucred; |
|
216 vn_lock(vp, LK_SHARED | LK_RETRY); | 218 vn_lock(vp, LK_SHARED | LK_RETRY); |
217 error = VOP_GETATTR(vp, &vattr, td->td_ucred, td); | 219 error = VOP_GETATTR(vp, &vattr, cred); |
218 VOP_UNLOCK(vp, 0); 219 if (error) 220 return (error); 221 222 return (lf_advlock(ap, &(vp->v_lockf), vattr.va_size)); 223} 224 225int 226vop_stdadvlockasync(struct vop_advlockasync_args *ap) 227{ | 220 VOP_UNLOCK(vp, 0); 221 if (error) 222 return (error); 223 224 return (lf_advlock(ap, &(vp->v_lockf), vattr.va_size)); 225} 226 227int 228vop_stdadvlockasync(struct vop_advlockasync_args *ap) 229{ |
228 struct vnode *vp = ap->a_vp; 229 struct thread *td = curthread; | 230 struct vnode *vp; 231 struct ucred *cred; |
230 struct vattr vattr; 231 int error; 232 | 232 struct vattr vattr; 233 int error; 234 |
235 vp = ap->a_vp; 236 cred = curthread->td_ucred; |
|
233 vn_lock(vp, LK_SHARED | LK_RETRY); | 237 vn_lock(vp, LK_SHARED | LK_RETRY); |
234 error = VOP_GETATTR(vp, &vattr, td->td_ucred, td); | 238 error = VOP_GETATTR(vp, &vattr, cred); |
235 VOP_UNLOCK(vp, 0); 236 if (error) 237 return (error); 238 239 return (lf_advlockasync(ap, &(vp->v_lockf), vattr.va_size)); 240} 241 242/* --- 469 unchanged lines hidden --- | 239 VOP_UNLOCK(vp, 0); 240 if (error) 241 return (error); 242 243 return (lf_advlockasync(ap, &(vp->v_lockf), vattr.va_size)); 244} 245 246/* --- 469 unchanged lines hidden --- |