int bstart, bend, bindex;
loff_t size;
+ /* check if user has permission to change inode */
+ err = inode_change_ok(dentry->d_inode, ia);
+ if (err)
+ goto out_err;
+
unionfs_read_lock(dentry->d_sb, UNIONFS_SMUTEX_CHILD);
parent = unionfs_lock_parent(dentry, UNIONFS_DMUTEX_PARENT);
unionfs_lock_dentry(dentry, UNIONFS_DMUTEX_CHILD);
unionfs_unlock_dentry(dentry);
unionfs_unlock_parent(dentry, parent);
unionfs_read_unlock(dentry->d_sb);
-
+out_err:
return err;
}