fdesc_vnops.c (168355) | fdesc_vnops.c (175202) |
---|---|
1/*- 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software donated to Berkeley by 6 * Jan-Simon Pendry. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 17 unchanged lines hidden (view full) --- 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * 32 * @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94 33 * | 1/*- 2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software donated to Berkeley by 6 * Jan-Simon Pendry. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 17 unchanged lines hidden (view full) --- 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * 32 * @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94 33 * |
34 * $FreeBSD: head/sys/fs/fdescfs/fdesc_vnops.c 168355 2007-04-04 09:11:34Z rwatson $ | 34 * $FreeBSD: head/sys/fs/fdescfs/fdesc_vnops.c 175202 2008-01-10 01:10:58Z attilio $ |
35 */ 36 37/* 38 * /dev/fd Filesystem 39 */ 40 41#include <sys/param.h> 42#include <sys/systm.h> --- 186 unchanged lines hidden (view full) --- 229 goto bad; 230 231 error = fdesc_allocvp(Fdesc, FD_DESC+fd, dvp->v_mount, &fvp, td); 232 fdrop(fp, td); 233 if (error) 234 goto bad; 235 VTOFDESC(fvp)->fd_fd = fd; 236 if (fvp != dvp) | 35 */ 36 37/* 38 * /dev/fd Filesystem 39 */ 40 41#include <sys/param.h> 42#include <sys/systm.h> --- 186 unchanged lines hidden (view full) --- 229 goto bad; 230 231 error = fdesc_allocvp(Fdesc, FD_DESC+fd, dvp->v_mount, &fvp, td); 232 fdrop(fp, td); 233 if (error) 234 goto bad; 235 VTOFDESC(fvp)->fd_fd = fd; 236 if (fvp != dvp) |
237 vn_lock(fvp, LK_EXCLUSIVE | LK_RETRY, td); | 237 vn_lock(fvp, LK_EXCLUSIVE | LK_RETRY); |
238 *vpp = fvp; 239 return (0); 240 241bad: 242 *vpp = NULL; 243 return (error); 244} 245 --- 158 unchanged lines hidden (view full) --- 404 error = EOPNOTSUPP; 405 else 406 error = 0; 407 } 408 return (error); 409 } 410 vp = fp->f_vnode; 411 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) == 0) { | 238 *vpp = fvp; 239 return (0); 240 241bad: 242 *vpp = NULL; 243 return (error); 244} 245 --- 158 unchanged lines hidden (view full) --- 404 error = EOPNOTSUPP; 405 else 406 error = 0; 407 } 408 return (error); 409 } 410 vp = fp->f_vnode; 411 if ((error = vn_start_write(vp, &mp, V_WAIT | PCATCH)) == 0) { |
412 vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, ap->a_td); | 412 vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); |
413 error = VOP_SETATTR(vp, ap->a_vap, ap->a_cred, ap->a_td); 414 VOP_UNLOCK(vp, 0, ap->a_td); 415 vn_finished_write(mp); 416 } 417 fdrop(fp, ap->a_td); 418 return (error); 419} 420 --- 116 unchanged lines hidden --- | 413 error = VOP_SETATTR(vp, ap->a_vap, ap->a_cred, ap->a_td); 414 VOP_UNLOCK(vp, 0, ap->a_td); 415 vn_finished_write(mp); 416 } 417 fdrop(fp, ap->a_td); 418 return (error); 419} 420 --- 116 unchanged lines hidden --- |