Deleted Added
full compact
nfs_nfsdsocket.c (224080) nfs_nfsdsocket.c (224081)
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 to Berkeley by
6 * Rick Macklem at The University of Guelph.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 18 unchanged lines hidden (view full) ---

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 */
33
34#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 to Berkeley by
6 * Rick Macklem at The University of Guelph.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 18 unchanged lines hidden (view full) ---

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 */
33
34#include <sys/cdefs.h>
35__FBSDID("$FreeBSD: head/sys/fs/nfsserver/nfs_nfsdsocket.c 224080 2011-07-16 08:05:26Z zack $");
35__FBSDID("$FreeBSD: head/sys/fs/nfsserver/nfs_nfsdsocket.c 224081 2011-07-16 08:05:31Z zack $");
36
37/*
38 * Socket operations for use by the nfs server.
39 */
40
41#ifndef APPLEKEXT
42#include <fs/nfs/nfsport.h>
43

--- 812 unchanged lines hidden (view full) ---

856 break;
857 } else if (cur_fsid.val[0] != save_fsid.val[0] ||
858 cur_fsid.val[1] != save_fsid.val[1]) {
859 nd->nd_repstat = NFSERR_XDEV;
860 break;
861 }
862 if (nfsv4_opflag[op].modifyfs)
863 vn_start_write(savevp, &temp_mp, V_WAIT);
36
37/*
38 * Socket operations for use by the nfs server.
39 */
40
41#ifndef APPLEKEXT
42#include <fs/nfs/nfsport.h>
43

--- 812 unchanged lines hidden (view full) ---

856 break;
857 } else if (cur_fsid.val[0] != save_fsid.val[0] ||
858 cur_fsid.val[1] != save_fsid.val[1]) {
859 nd->nd_repstat = NFSERR_XDEV;
860 break;
861 }
862 if (nfsv4_opflag[op].modifyfs)
863 vn_start_write(savevp, &temp_mp, V_WAIT);
864 if (vn_lock(savevp, LK_EXCLUSIVE) == 0) {
864 if (NFSVOPLOCK(savevp, LK_EXCLUSIVE) == 0) {
865 VREF(vp);
866 VREF(savevp);
867 error = (*(nfsrv4_ops2[op]))(nd, isdgram,
868 savevp, vp, p, &savevpnes, &vpnes);
869 } else
870 nd->nd_repstat = NFSERR_PERM;
871 if (nfsv4_opflag[op].modifyfs)
872 vn_finished_write(temp_mp);
873 } else {
874 if (nfsv4_opflag[op].retfh != 0)
875 panic("nfsrvd_compound");
876 if (nfsv4_opflag[op].needscfh) {
877 if (vp != NULL) {
878 if (nfsv4_opflag[op].modifyfs)
879 vn_start_write(vp, &temp_mp,
880 V_WAIT);
865 VREF(vp);
866 VREF(savevp);
867 error = (*(nfsrv4_ops2[op]))(nd, isdgram,
868 savevp, vp, p, &savevpnes, &vpnes);
869 } else
870 nd->nd_repstat = NFSERR_PERM;
871 if (nfsv4_opflag[op].modifyfs)
872 vn_finished_write(temp_mp);
873 } else {
874 if (nfsv4_opflag[op].retfh != 0)
875 panic("nfsrvd_compound");
876 if (nfsv4_opflag[op].needscfh) {
877 if (vp != NULL) {
878 if (nfsv4_opflag[op].modifyfs)
879 vn_start_write(vp, &temp_mp,
880 V_WAIT);
881 if (vn_lock(vp, nfsv4_opflag[op].lktype)
881 if (NFSVOPLOCK(vp, nfsv4_opflag[op].lktype)
882 == 0)
883 VREF(vp);
884 else
885 nd->nd_repstat = NFSERR_PERM;
886 } else {
887 nd->nd_repstat = NFSERR_NOFILEHANDLE;
888 if (op == NFSV4OP_SETATTR) {
889 /*

--- 60 unchanged lines hidden ---
882 == 0)
883 VREF(vp);
884 else
885 nd->nd_repstat = NFSERR_PERM;
886 } else {
887 nd->nd_repstat = NFSERR_NOFILEHANDLE;
888 if (op == NFSV4OP_SETATTR) {
889 /*

--- 60 unchanged lines hidden ---