aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_ioctl.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-11 12:03:47 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-11 12:03:47 -0400
commit412dd3a6daf0cadce1b2d6a34fa3713f40255579 (patch)
treebb2518c00c9d56acc8d36f87ed9c3144d8cf8201 /fs/xfs/xfs_ioctl.c
parent23d4ed53b7342bf5999b3ea227d9f69e75e5a625 (diff)
parent7691283d0561a350b7517be94818669fb5e3d910 (diff)
Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs
Pull xfs updates from Dave Chinner: "This update contains: - cleanup removing unused function args - rework of the filestreams allocator to use dentry cache parent lookups - new on-disk free inode btree and optimised inode allocator - various bug fixes - rework of internal attribute API - cleanup of superblock feature bit support to remove historic cruft - more fixes and minor cleanups - added a new directory/attribute geometry abstraction - yet more fixes and minor cleanups" * tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs: (86 commits) xfs: fix xfs_da_args sparse warning in xfs_readdir xfs: Fix rounding in xfs_alloc_fix_len() xfs: tone down writepage/releasepage WARN_ONs xfs: small cleanup in xfs_lowbit64() xfs: kill xfs_buf_geterror() xfs: xfs_readsb needs to check for magic numbers xfs: block allocation work needs to be kswapd aware xfs: remove redundant geometry information from xfs_da_state xfs: replace attr LBSIZE with xfs_da_geometry xfs: pass xfs_da_args to xfs_attr_leaf_newentsize xfs: use xfs_da_geometry for block size in attr code xfs: remove mp->m_dir_geo from directory logging xfs: reduce direct usage of mp->m_dir_geo xfs: move node entry counts to xfs_da_geometry xfs: convert dir/attr btree threshold to xfs_da_geometry xfs: convert m_dirblksize to xfs_da_geometry xfs: convert m_dirblkfsbs to xfs_da_geometry xfs: convert directory segment limits to xfs_da_geometry xfs: convert directory db conversion to xfs_da_geometry xfs: convert directory dablk conversion to xfs_da_geometry ...
Diffstat (limited to 'fs/xfs/xfs_ioctl.c')
-rw-r--r--fs/xfs/xfs_ioctl.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
index 6152cbe353e8..8bc1bbce7451 100644
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -543,10 +543,11 @@ xfs_attrmulti_by_handle(
543 543
544 ops = memdup_user(am_hreq.ops, size); 544 ops = memdup_user(am_hreq.ops, size);
545 if (IS_ERR(ops)) { 545 if (IS_ERR(ops)) {
546 error = PTR_ERR(ops); 546 error = -PTR_ERR(ops);
547 goto out_dput; 547 goto out_dput;
548 } 548 }
549 549
550 error = ENOMEM;
550 attr_name = kmalloc(MAXNAMELEN, GFP_KERNEL); 551 attr_name = kmalloc(MAXNAMELEN, GFP_KERNEL);
551 if (!attr_name) 552 if (!attr_name)
552 goto out_kfree_ops; 553 goto out_kfree_ops;
@@ -556,7 +557,7 @@ xfs_attrmulti_by_handle(
556 ops[i].am_error = strncpy_from_user((char *)attr_name, 557 ops[i].am_error = strncpy_from_user((char *)attr_name,
557 ops[i].am_attrname, MAXNAMELEN); 558 ops[i].am_attrname, MAXNAMELEN);
558 if (ops[i].am_error == 0 || ops[i].am_error == MAXNAMELEN) 559 if (ops[i].am_error == 0 || ops[i].am_error == MAXNAMELEN)
559 error = -ERANGE; 560 error = ERANGE;
560 if (ops[i].am_error < 0) 561 if (ops[i].am_error < 0)
561 break; 562 break;
562 563
@@ -1227,15 +1228,8 @@ xfs_ioctl_setattr(
1227 olddquot = xfs_qm_vop_chown(tp, ip, 1228 olddquot = xfs_qm_vop_chown(tp, ip,
1228 &ip->i_pdquot, pdqp); 1229 &ip->i_pdquot, pdqp);
1229 } 1230 }
1231 ASSERT(ip->i_d.di_version > 1);
1230 xfs_set_projid(ip, fa->fsx_projid); 1232 xfs_set_projid(ip, fa->fsx_projid);
1231
1232 /*
1233 * We may have to rev the inode as well as
1234 * the superblock version number since projids didn't
1235 * exist before DINODE_VERSION_2 and SB_VERSION_NLINK.
1236 */
1237 if (ip->i_d.di_version == 1)
1238 xfs_bump_ino_vers2(tp, ip);
1239 } 1233 }
1240 1234
1241 } 1235 }