ufs_vnops.c (105572) | ufs_vnops.c (105988) |
---|---|
1/* 2 * Copyright (c) 1982, 1986, 1989, 1993, 1995 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95 | 1/* 2 * Copyright (c) 1982, 1986, 1989, 1993, 1995 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95 |
39 * $FreeBSD: head/sys/ufs/ufs/ufs_vnops.c 105572 2002-10-20 22:11:13Z rwatson $ | 39 * $FreeBSD: head/sys/ufs/ufs/ufs_vnops.c 105988 2002-10-26 14:38:24Z rwatson $ |
40 */ 41 42#include "opt_mac.h" 43#include "opt_quota.h" 44#include "opt_suiddir.h" 45#include "opt_ufs.h" 46 47#include <sys/param.h> --- 1470 unchanged lines hidden (view full) --- 1518 DIP(dp, i_nlink) = dp->i_nlink; 1519 dp->i_flag |= IN_CHANGE; 1520 if (DOINGSOFTDEP(dvp)) 1521 softdep_change_linkcnt(dp); 1522 error = UFS_UPDATE(tvp, !(DOINGSOFTDEP(dvp) | DOINGASYNC(dvp))); 1523 if (error) 1524 goto bad; 1525#ifdef MAC | 40 */ 41 42#include "opt_mac.h" 43#include "opt_quota.h" 44#include "opt_suiddir.h" 45#include "opt_ufs.h" 46 47#include <sys/param.h> --- 1470 unchanged lines hidden (view full) --- 1518 DIP(dp, i_nlink) = dp->i_nlink; 1519 dp->i_flag |= IN_CHANGE; 1520 if (DOINGSOFTDEP(dvp)) 1521 softdep_change_linkcnt(dp); 1522 error = UFS_UPDATE(tvp, !(DOINGSOFTDEP(dvp) | DOINGASYNC(dvp))); 1523 if (error) 1524 goto bad; 1525#ifdef MAC |
1526 error = vop_stdcreatevnode_ea(dvp, tvp, cnp->cn_cred); 1527 if (error) 1528 goto bad; | 1526 if (dvp->v_mount->mnt_flag & MNT_MULTILABEL) { 1527 error = mac_create_vnode_extattr(cnp->cn_cred, dvp->v_mount, 1528 dvp, tvp, cnp); 1529 if (error) 1530 goto bad; 1531 } |
1529#endif 1530#ifdef UFS_ACL 1531 if (acl != NULL) { 1532 /* 1533 * XXX: If we abort now, will Soft Updates notify the extattr 1534 * code that the EAs for the file need to be released? 1535 */ 1536 error = VOP_SETACL(tvp, ACL_TYPE_ACCESS, acl, cnp->cn_cred, --- 917 unchanged lines hidden (view full) --- 2454 2455 /* 2456 * Make sure inode goes to disk before directory entry. 2457 */ 2458 error = UFS_UPDATE(tvp, !(DOINGSOFTDEP(tvp) | DOINGASYNC(tvp))); 2459 if (error) 2460 goto bad; 2461#ifdef MAC | 1532#endif 1533#ifdef UFS_ACL 1534 if (acl != NULL) { 1535 /* 1536 * XXX: If we abort now, will Soft Updates notify the extattr 1537 * code that the EAs for the file need to be released? 1538 */ 1539 error = VOP_SETACL(tvp, ACL_TYPE_ACCESS, acl, cnp->cn_cred, --- 917 unchanged lines hidden (view full) --- 2457 2458 /* 2459 * Make sure inode goes to disk before directory entry. 2460 */ 2461 error = UFS_UPDATE(tvp, !(DOINGSOFTDEP(tvp) | DOINGASYNC(tvp))); 2462 if (error) 2463 goto bad; 2464#ifdef MAC |
2462 error = vop_stdcreatevnode_ea(dvp, tvp, cnp->cn_cred); 2463 if (error) 2464 goto bad; | 2465 if (dvp->v_mount->mnt_flag & MNT_MULTILABEL) { 2466 error = mac_create_vnode_extattr(cnp->cn_cred, dvp->v_mount, 2467 dvp, tvp, cnp); 2468 if (error) 2469 goto bad; 2470 } |
2465#endif 2466#ifdef UFS_ACL 2467 if (acl != NULL) { 2468 /* 2469 * XXX: If we abort now, will Soft Updates notify the extattr 2470 * code that the EAs for the file need to be released? 2471 */ 2472 error = VOP_SETACL(tvp, ACL_TYPE_ACCESS, acl, cnp->cn_cred, --- 171 unchanged lines hidden (view full) --- 2644 { &vop_pathconf_desc, (vop_t *) ufs_pathconf }, 2645 { &vop_poll_desc, (vop_t *) vop_stdpoll }, 2646 { &vop_kqfilter_desc, (vop_t *) ufs_kqfilter }, 2647 { &vop_getwritemount_desc, (vop_t *) vop_stdgetwritemount }, 2648 { &vop_print_desc, (vop_t *) ufs_print }, 2649 { &vop_readdir_desc, (vop_t *) ufs_readdir }, 2650 { &vop_readlink_desc, (vop_t *) ufs_readlink }, 2651 { &vop_reclaim_desc, (vop_t *) ufs_reclaim }, | 2471#endif 2472#ifdef UFS_ACL 2473 if (acl != NULL) { 2474 /* 2475 * XXX: If we abort now, will Soft Updates notify the extattr 2476 * code that the EAs for the file need to be released? 2477 */ 2478 error = VOP_SETACL(tvp, ACL_TYPE_ACCESS, acl, cnp->cn_cred, --- 171 unchanged lines hidden (view full) --- 2650 { &vop_pathconf_desc, (vop_t *) ufs_pathconf }, 2651 { &vop_poll_desc, (vop_t *) vop_stdpoll }, 2652 { &vop_kqfilter_desc, (vop_t *) ufs_kqfilter }, 2653 { &vop_getwritemount_desc, (vop_t *) vop_stdgetwritemount }, 2654 { &vop_print_desc, (vop_t *) ufs_print }, 2655 { &vop_readdir_desc, (vop_t *) ufs_readdir }, 2656 { &vop_readlink_desc, (vop_t *) ufs_readlink }, 2657 { &vop_reclaim_desc, (vop_t *) ufs_reclaim }, |
2652#ifdef MAC 2653 { &vop_refreshlabel_desc, (vop_t *) vop_stdrefreshlabel_ea }, 2654#endif | |
2655 { &vop_remove_desc, (vop_t *) ufs_remove }, 2656 { &vop_rename_desc, (vop_t *) ufs_rename }, 2657 { &vop_rmdir_desc, (vop_t *) ufs_rmdir }, 2658 { &vop_setattr_desc, (vop_t *) ufs_setattr }, 2659#ifdef MAC 2660 { &vop_setlabel_desc, (vop_t *) vop_stdsetlabel_ea }, 2661#endif 2662 { &vop_strategy_desc, (vop_t *) ufs_strategy }, --- 22 unchanged lines hidden (view full) --- 2685 { &vop_close_desc, (vop_t *) ufsspec_close }, 2686 { &vop_getattr_desc, (vop_t *) ufs_getattr }, 2687 { &vop_inactive_desc, (vop_t *) ufs_inactive }, 2688 { &vop_islocked_desc, (vop_t *) vop_stdislocked }, 2689 { &vop_lock_desc, (vop_t *) vop_stdlock }, 2690 { &vop_print_desc, (vop_t *) ufs_print }, 2691 { &vop_read_desc, (vop_t *) ufsspec_read }, 2692 { &vop_reclaim_desc, (vop_t *) ufs_reclaim }, | 2658 { &vop_remove_desc, (vop_t *) ufs_remove }, 2659 { &vop_rename_desc, (vop_t *) ufs_rename }, 2660 { &vop_rmdir_desc, (vop_t *) ufs_rmdir }, 2661 { &vop_setattr_desc, (vop_t *) ufs_setattr }, 2662#ifdef MAC 2663 { &vop_setlabel_desc, (vop_t *) vop_stdsetlabel_ea }, 2664#endif 2665 { &vop_strategy_desc, (vop_t *) ufs_strategy }, --- 22 unchanged lines hidden (view full) --- 2688 { &vop_close_desc, (vop_t *) ufsspec_close }, 2689 { &vop_getattr_desc, (vop_t *) ufs_getattr }, 2690 { &vop_inactive_desc, (vop_t *) ufs_inactive }, 2691 { &vop_islocked_desc, (vop_t *) vop_stdislocked }, 2692 { &vop_lock_desc, (vop_t *) vop_stdlock }, 2693 { &vop_print_desc, (vop_t *) ufs_print }, 2694 { &vop_read_desc, (vop_t *) ufsspec_read }, 2695 { &vop_reclaim_desc, (vop_t *) ufs_reclaim }, |
2693#ifdef MAC 2694 { &vop_refreshlabel_desc, (vop_t *) vop_stdrefreshlabel_ea }, 2695#endif | |
2696 { &vop_setattr_desc, (vop_t *) ufs_setattr }, 2697#ifdef MAC 2698 { &vop_setlabel_desc, (vop_t *) vop_stdsetlabel_ea }, 2699#endif 2700 { &vop_unlock_desc, (vop_t *) vop_stdunlock }, 2701 { &vop_write_desc, (vop_t *) ufsspec_write }, 2702#ifdef UFS_EXTATTR 2703 { &vop_getextattr_desc, (vop_t *) ufs_getextattr }, --- 18 unchanged lines hidden (view full) --- 2722 { &vop_getattr_desc, (vop_t *) ufs_getattr }, 2723 { &vop_inactive_desc, (vop_t *) ufs_inactive }, 2724 { &vop_islocked_desc, (vop_t *) vop_stdislocked }, 2725 { &vop_kqfilter_desc, (vop_t *) ufsfifo_kqfilter }, 2726 { &vop_lock_desc, (vop_t *) vop_stdlock }, 2727 { &vop_print_desc, (vop_t *) ufs_print }, 2728 { &vop_read_desc, (vop_t *) ufsfifo_read }, 2729 { &vop_reclaim_desc, (vop_t *) ufs_reclaim }, | 2696 { &vop_setattr_desc, (vop_t *) ufs_setattr }, 2697#ifdef MAC 2698 { &vop_setlabel_desc, (vop_t *) vop_stdsetlabel_ea }, 2699#endif 2700 { &vop_unlock_desc, (vop_t *) vop_stdunlock }, 2701 { &vop_write_desc, (vop_t *) ufsspec_write }, 2702#ifdef UFS_EXTATTR 2703 { &vop_getextattr_desc, (vop_t *) ufs_getextattr }, --- 18 unchanged lines hidden (view full) --- 2722 { &vop_getattr_desc, (vop_t *) ufs_getattr }, 2723 { &vop_inactive_desc, (vop_t *) ufs_inactive }, 2724 { &vop_islocked_desc, (vop_t *) vop_stdislocked }, 2725 { &vop_kqfilter_desc, (vop_t *) ufsfifo_kqfilter }, 2726 { &vop_lock_desc, (vop_t *) vop_stdlock }, 2727 { &vop_print_desc, (vop_t *) ufs_print }, 2728 { &vop_read_desc, (vop_t *) ufsfifo_read }, 2729 { &vop_reclaim_desc, (vop_t *) ufs_reclaim }, |
2730#ifdef MAC 2731 { &vop_refreshlabel_desc, (vop_t *) vop_stdrefreshlabel_ea }, 2732#endif | |
2733 { &vop_setattr_desc, (vop_t *) ufs_setattr }, 2734#ifdef MAC 2735 { &vop_setlabel_desc, (vop_t *) vop_stdsetlabel_ea }, 2736#endif 2737 { &vop_unlock_desc, (vop_t *) vop_stdunlock }, 2738 { &vop_write_desc, (vop_t *) ufsfifo_write }, 2739#ifdef UFS_EXTATTR 2740 { &vop_getextattr_desc, (vop_t *) ufs_getextattr }, --- 42 unchanged lines hidden --- | 2730 { &vop_setattr_desc, (vop_t *) ufs_setattr }, 2731#ifdef MAC 2732 { &vop_setlabel_desc, (vop_t *) vop_stdsetlabel_ea }, 2733#endif 2734 { &vop_unlock_desc, (vop_t *) vop_stdunlock }, 2735 { &vop_write_desc, (vop_t *) ufsfifo_write }, 2736#ifdef UFS_EXTATTR 2737 { &vop_getextattr_desc, (vop_t *) ufs_getextattr }, --- 42 unchanged lines hidden --- |