Deleted Added
full compact
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 ---