diff options
Diffstat (limited to 'fs/ceph/inode.c')
-rw-r--r-- | fs/ceph/inode.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 71e107fb4dbc..a4f573ab232e 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c | |||
@@ -1396,7 +1396,6 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr) | |||
1396 | int release = 0, dirtied = 0; | 1396 | int release = 0, dirtied = 0; |
1397 | int mask = 0; | 1397 | int mask = 0; |
1398 | int err = 0; | 1398 | int err = 0; |
1399 | int queue_trunc = 0; | ||
1400 | 1399 | ||
1401 | if (ceph_snap(inode) != CEPH_NOSNAP) | 1400 | if (ceph_snap(inode) != CEPH_NOSNAP) |
1402 | return -EROFS; | 1401 | return -EROFS; |
@@ -1510,11 +1509,6 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr) | |||
1510 | if ((issued & CEPH_CAP_FILE_EXCL) && | 1509 | if ((issued & CEPH_CAP_FILE_EXCL) && |
1511 | attr->ia_size > inode->i_size) { | 1510 | attr->ia_size > inode->i_size) { |
1512 | inode->i_size = attr->ia_size; | 1511 | inode->i_size = attr->ia_size; |
1513 | if (attr->ia_size < inode->i_size) { | ||
1514 | ci->i_truncate_size = attr->ia_size; | ||
1515 | ci->i_truncate_pending++; | ||
1516 | queue_trunc = 1; | ||
1517 | } | ||
1518 | inode->i_blocks = | 1512 | inode->i_blocks = |
1519 | (attr->ia_size + (1 << 9) - 1) >> 9; | 1513 | (attr->ia_size + (1 << 9) - 1) >> 9; |
1520 | inode->i_ctime = attr->ia_ctime; | 1514 | inode->i_ctime = attr->ia_ctime; |
@@ -1567,9 +1561,6 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr) | |||
1567 | release &= issued; | 1561 | release &= issued; |
1568 | spin_unlock(&inode->i_lock); | 1562 | spin_unlock(&inode->i_lock); |
1569 | 1563 | ||
1570 | if (queue_trunc) | ||
1571 | __ceph_do_pending_vmtruncate(inode); | ||
1572 | |||
1573 | if (mask) { | 1564 | if (mask) { |
1574 | req->r_inode = igrab(inode); | 1565 | req->r_inode = igrab(inode); |
1575 | req->r_inode_drop = release; | 1566 | req->r_inode_drop = release; |