data->ocd_connect_flags2 = OBD_CONNECT2_FLR |
OBD_CONNECT2_LOCK_CONVERT |
- OBD_CONNECT2_DIR_MIGRATE;
+ OBD_CONNECT2_DIR_MIGRATE |
+ OBD_CONNECT2_SUM_STATFS;
#ifdef HAVE_LRU_RESIZE_SUPPORT
if (sbi->ll_flags & LL_SBI_LRU_RESIZE)
CDEBUG(D_SUPER, "MDC blocks %llu/%llu objects %llu/%llu\n",
osfs->os_bavail, osfs->os_blocks, osfs->os_ffree,osfs->os_files);
+ if (osfs->os_state & OS_STATE_SUM)
+ GOTO(out, rc);
+
if (sbi->ll_flags & LL_SBI_LAZYSTATFS)
flags |= OBD_STATFS_NODELAY;
osfs->os_ffree = obd_osfs.os_ffree;
}
+out:
RETURN(rc);
}
int ll_statfs(struct dentry *de, struct kstatfs *sfs)
ll_stats_ops_tally(ll_s2sbi(sb), LPROC_LL_STAFS, 1);
/* Some amount of caching on the client is allowed */
- rc = ll_statfs_internal(ll_s2sbi(sb), &osfs, 0);
+ rc = ll_statfs_internal(ll_s2sbi(sb), &osfs, OBD_STATFS_SUM);
if (rc)
return rc;
mutex_unlock(&lli->lli_size_mutex);
}
+void ll_update_inode_flags(struct inode *inode, int ext_flags)
+{
+ inode->i_flags = ll_ext_to_inode_flags(ext_flags);
+ if (ext_flags & LUSTRE_PROJINHERIT_FL)
+ ll_file_set_flag(ll_i2info(inode), LLIF_PROJECT_INHERIT);
+ else
+ ll_file_clear_flag(ll_i2info(inode), LLIF_PROJECT_INHERIT);
+}
+
int ll_update_inode(struct inode *inode, struct lustre_md *md)
{
struct ll_inode_info *lli = ll_i2info(inode);
/* Clear i_flags to remove S_NOSEC before permissions are updated */
if (body->mbo_valid & OBD_MD_FLFLAGS)
- inode->i_flags = ll_ext_to_inode_flags(body->mbo_flags);
+ ll_update_inode_flags(inode, body->mbo_flags);
if (body->mbo_valid & OBD_MD_FLMODE)
inode->i_mode = (inode->i_mode & S_IFMT) |
(body->mbo_mode & ~S_IFMT);
truncate_inode_pages_final(&inode->i_data);
LASSERTF(inode->i_data.nrpages == 0, "inode="DFID"(%p) nrpages=%lu, "
- "see https://jira.hpdd.intel.com/browse/LU-118\n",
+ "see https://jira.whamcloud.com/browse/LU-118\n",
PFID(ll_inode2fid(inode)), inode, inode->i_data.nrpages);
#ifdef HAVE_SBOPS_EVICT_INODE
if (rc)
RETURN(rc);
- inode->i_flags = ll_ext_to_inode_flags(flags);
+ ll_update_inode_flags(inode, flags);
obj = ll_i2info(inode)->lli_clob;
if (obj == NULL)