diff options
Diffstat (limited to 'fs/ceph')
-rw-r--r-- | fs/ceph/inode.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index cd0432c03d2f..0a49ffde5bcb 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c | |||
@@ -606,7 +606,14 @@ static int fill_inode(struct inode *inode, | |||
606 | le32_to_cpu(info->time_warp_seq), | 606 | le32_to_cpu(info->time_warp_seq), |
607 | &ctime, &mtime, &atime); | 607 | &ctime, &mtime, &atime); |
608 | 608 | ||
609 | ci->i_max_size = le64_to_cpu(info->max_size); | 609 | /* only update max_size on auth cap */ |
610 | if ((info->cap.flags & CEPH_CAP_FLAG_AUTH) && | ||
611 | ci->i_max_size != le64_to_cpu(info->max_size)) { | ||
612 | dout("max_size %lld -> %llu\n", ci->i_max_size, | ||
613 | le64_to_cpu(info->max_size)); | ||
614 | ci->i_max_size = le64_to_cpu(info->max_size); | ||
615 | } | ||
616 | |||
610 | ci->i_layout = info->layout; | 617 | ci->i_layout = info->layout; |
611 | inode->i_blkbits = fls(le32_to_cpu(info->layout.fl_stripe_unit)) - 1; | 618 | inode->i_blkbits = fls(le32_to_cpu(info->layout.fl_stripe_unit)) - 1; |
612 | 619 | ||