X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fmdt%2Fmdt_som.c;h=62c52a54b0733157dad251c168fcbc1333a457ff;hb=f3fef81c7d7656160d6db6f542dd5178974fab78;hp=3eebe03ce49517520da7a30a1a0915ac508abd40;hpb=76b9eecdebf830606b021079148eaefa6aab99cc;p=fs%2Flustre-release.git diff --git a/lustre/mdt/mdt_som.c b/lustre/mdt/mdt_som.c index 3eebe03..62c52a5 100644 --- a/lustre/mdt/mdt_som.c +++ b/lustre/mdt/mdt_som.c @@ -75,8 +75,8 @@ int mdt_get_som(struct mdt_thread_info *info, struct mdt_object *obj, buf->lb_buf = info->mti_xattr_buf; buf->lb_len = sizeof(info->mti_xattr_buf); - CLASSERT(sizeof(struct lustre_som_attrs) <= - sizeof(info->mti_xattr_buf)); + BUILD_BUG_ON(sizeof(struct lustre_som_attrs) > + sizeof(info->mti_xattr_buf)); rc = mo_xattr_get(info->mti_env, mdt_object_child(obj), buf, XATTR_NAME_SOM); rc = lustre_buf2som(info->mti_xattr_buf, rc, &ma->ma_som); @@ -85,21 +85,21 @@ int mdt_get_som(struct mdt_thread_info *info, struct mdt_object *obj, ma->ma_valid |= MA_SOM; - if ((som->ms_valid & SOM_FL_STRICT)) { + CDEBUG(D_INODE, DFID": Reading som attrs: " + "valid: %x, size: %lld, blocks: %lld\n", + PFID(mdt_object_fid(obj)), som->ms_valid, + som->ms_size, som->ms_blocks); + + if (som->ms_valid & SOM_FL_STRICT) { attr->la_valid |= LA_SIZE | LA_BLOCKS; - attr->la_size = som->ms_size; - attr->la_blocks = som->ms_blocks; /* * Size on MDS is valid and could be returned * to client. */ + attr->la_size = som->ms_size; + attr->la_blocks = som->ms_blocks; info->mti_som_valid = 1; - - CDEBUG(D_INODE, DFID": Reading som attrs: " - "valid: %x, size: %lld, blocks: %lld\n", - PFID(mdt_object_fid(obj)), som->ms_valid, - som->ms_size, som->ms_blocks); } } else if (rc == -ENODATA) { rc = 0; @@ -126,7 +126,7 @@ int mdt_set_som(struct mdt_thread_info *info, struct mdt_object *obj, PFID(mdt_object_fid(obj)), size, blocks, flag); som = (struct lustre_som_attrs *)info->mti_xattr_buf; - CLASSERT(sizeof(info->mti_xattr_buf) >= sizeof(*som)); + BUILD_BUG_ON(sizeof(info->mti_xattr_buf) < sizeof(*som)); som->lsa_valid = flag; som->lsa_size = size; @@ -218,7 +218,7 @@ int mdt_lsom_update(struct mdt_thread_info *info, * MDS only updates LSOM of the file if the size or block * size is being increased or the file is being truncated. */ - if (mdt_lmm_dom_entry(info->mti_big_lmm) != LMM_DOM_ONLY && + if (!mdt_lmm_dom_only(info->mti_big_lmm) && !(tmp_ma->ma_valid & MA_INODE && tmp_ma->ma_attr.la_nlink == 0)) { __u64 size; __u64 blocks;