|
@@ -1813,10 +1813,6 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr)
|
|
if (ia_valid & ATTR_SIZE) {
|
|
if (ia_valid & ATTR_SIZE) {
|
|
dout("setattr %p size %lld -> %lld\n", inode,
|
|
dout("setattr %p size %lld -> %lld\n", inode,
|
|
inode->i_size, attr->ia_size);
|
|
inode->i_size, attr->ia_size);
|
|
- if (attr->ia_size > inode->i_sb->s_maxbytes) {
|
|
|
|
- err = -EINVAL;
|
|
|
|
- goto out;
|
|
|
|
- }
|
|
|
|
if ((issued & CEPH_CAP_FILE_EXCL) &&
|
|
if ((issued & CEPH_CAP_FILE_EXCL) &&
|
|
attr->ia_size > inode->i_size) {
|
|
attr->ia_size > inode->i_size) {
|
|
inode->i_size = attr->ia_size;
|
|
inode->i_size = attr->ia_size;
|
|
@@ -1896,8 +1892,6 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr)
|
|
if (mask & CEPH_SETATTR_SIZE)
|
|
if (mask & CEPH_SETATTR_SIZE)
|
|
__ceph_do_pending_vmtruncate(inode);
|
|
__ceph_do_pending_vmtruncate(inode);
|
|
return err;
|
|
return err;
|
|
-out:
|
|
|
|
- spin_unlock(&ci->i_ceph_lock);
|
|
|
|
out_put:
|
|
out_put:
|
|
ceph_mdsc_put_request(req);
|
|
ceph_mdsc_put_request(req);
|
|
return err;
|
|
return err;
|