]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/xfs/linux-2.6/xfs_iops.c
[XFS] Kill attr_capable checks as already done in xattr_permission.
[linux-2.6-omap-h63xx.git] / fs / xfs / linux-2.6 / xfs_iops.c
index 0c958cf7775880ce0a8004d38caa424887387edd..13b6cfd366c22becaf62ab0c5198b577442ff193 100644 (file)
@@ -155,13 +155,6 @@ xfs_ichgtime_fast(
         */
        ASSERT((flags & XFS_ICHGTIME_ACC) == 0);
 
-       /*
-        * We're not supposed to change timestamps in readonly-mounted
-        * filesystems.  Throw it away if anyone asks us.
-        */
-       if (unlikely(IS_RDONLY(inode)))
-               return;
-
        if (flags & XFS_ICHGTIME_MOD) {
                tvp = &inode->i_mtime;
                ip->i_d.di_mtime.t_sec = (__int32_t)tvp->tv_sec;
@@ -518,7 +511,8 @@ xfs_vn_rename(
        xfs_dentry_to_name(&nname, ndentry);
 
        error = xfs_rename(XFS_I(odir), &oname, XFS_I(odentry->d_inode),
-                                                       XFS_I(ndir), &nname);
+                          XFS_I(ndir), &nname, new_inode ?
+                                               XFS_I(new_inode) : NULL);
        if (likely(!error)) {
                if (new_inode)
                        xfs_validate_fields(new_inode);
@@ -595,8 +589,7 @@ xfs_check_acl(
 STATIC int
 xfs_vn_permission(
        struct inode            *inode,
-       int                     mask,
-       struct nameidata        *nd)
+       int                     mask)
 {
        return generic_permission(inode, mask, xfs_check_acl);
 }
@@ -746,15 +739,11 @@ xfs_vn_setxattr(
        char            *attr = (char *)name;
        attrnames_t     *namesp;
        int             xflags = 0;
-       int             error;
 
        namesp = attr_lookup_namespace(attr, attr_namespaces, ATTR_NAMECOUNT);
        if (!namesp)
                return -EOPNOTSUPP;
        attr += namesp->attr_namelen;
-       error = namesp->attr_capable(vp, NULL);
-       if (error)
-               return error;
 
        /* Convert Linux syscall to XFS internal ATTR flags */
        if (flags & XATTR_CREATE)
@@ -776,15 +765,11 @@ xfs_vn_getxattr(
        char            *attr = (char *)name;
        attrnames_t     *namesp;
        int             xflags = 0;
-       ssize_t         error;
 
        namesp = attr_lookup_namespace(attr, attr_namespaces, ATTR_NAMECOUNT);
        if (!namesp)
                return -EOPNOTSUPP;
        attr += namesp->attr_namelen;
-       error = namesp->attr_capable(vp, NULL);
-       if (error)
-               return error;
 
        /* Convert Linux syscall to XFS internal ATTR flags */
        if (!size) {
@@ -824,15 +809,12 @@ xfs_vn_removexattr(
        char            *attr = (char *)name;
        attrnames_t     *namesp;
        int             xflags = 0;
-       int             error;
 
        namesp = attr_lookup_namespace(attr, attr_namespaces, ATTR_NAMECOUNT);
        if (!namesp)
                return -EOPNOTSUPP;
        attr += namesp->attr_namelen;
-       error = namesp->attr_capable(vp, NULL);
-       if (error)
-               return error;
+
        xflags |= namesp->attr_flag;
        return namesp->attr_remove(vp, attr, xflags);
 }