staging/lustre/llite: Always build 64bit ino internally

Always build 64bit ino internally except the client is mounted
with "32bitapi" option, so client will always use 64bit ino
internally. It will build 32bit ino, only if application requires
32 bit ino.

Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3318
Lustre-change: http://review.whamcloud.com/6371
Signed-off-by: wang di <di.wang@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Ned Bass <bass6@llnl.gov>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Peng Tao <tao.peng@emc.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
wang di 2013-06-03 21:40:56 +08:00 committed by Greg Kroah-Hartman
parent f57d9a72d4
commit c1e2699da8

View File

@ -521,7 +521,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt,
LASSERT(fid_is_sane(&sbi->ll_root_fid));
root = ll_iget(sb, cl_fid_build_ino(&sbi->ll_root_fid,
ll_need_32bit_api(sbi)),
sbi->ll_flags & LL_SBI_32BIT_API),
&lmd);
md_free_lustre_md(sbi->ll_md_exp, &lmd);
ptlrpc_req_finished(request);
@ -1676,7 +1676,8 @@ void ll_update_inode(struct inode *inode, struct lustre_md *md)
spin_unlock(&lli->lli_lock);
}
#endif
inode->i_ino = cl_fid_build_ino(&body->fid1, ll_need_32bit_api(sbi));
inode->i_ino = cl_fid_build_ino(&body->fid1,
sbi->ll_flags & LL_SBI_32BIT_API);
inode->i_generation = cl_fid_build_gen(&body->fid1);
if (body->valid & OBD_MD_FLATIME) {
@ -2081,7 +2082,7 @@ int ll_prep_inode(struct inode **inode, struct ptlrpc_request *req,
LASSERT(fid_is_sane(&md.body->fid1));
*inode = ll_iget(sb, cl_fid_build_ino(&md.body->fid1,
ll_need_32bit_api(sbi)),
sbi->ll_flags & LL_SBI_32BIT_API),
&md);
if (*inode == NULL || IS_ERR(*inode)) {
#ifdef CONFIG_FS_POSIX_ACL