staging: lustre: llite: cache directory striping information
Cache directory striping information that the clients receive from the metadata servers. Signed-off-by: wang di <di.wang@intel.com> Reviewed-on: http://review.whamcloud.com/7043 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3531 Reviewed-by: John L. Hammond <john.hammond@intel.com> Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
c55459a276
Коммит
1c12cf634e
|
@ -173,6 +173,8 @@ struct ll_inode_info {
|
|||
* -- I am the owner of dir statahead.
|
||||
*/
|
||||
pid_t d_opendir_pid;
|
||||
/* directory stripe information */
|
||||
struct lmv_stripe_md *d_lmv_md;
|
||||
} d;
|
||||
|
||||
#define lli_readdir_mutex u.d.d_readdir_mutex
|
||||
|
@ -180,6 +182,7 @@ struct ll_inode_info {
|
|||
#define lli_sai u.d.d_sai
|
||||
#define lli_sa_lock u.d.d_sa_lock
|
||||
#define lli_opendir_pid u.d.d_opendir_pid
|
||||
#define lli_lmv_md u.d.d_lmv_md
|
||||
|
||||
/* for non-directory */
|
||||
struct {
|
||||
|
|
|
@ -2090,11 +2090,22 @@ struct md_op_data *ll_prep_md_op_data(struct md_op_data *op_data,
|
|||
|
||||
ll_i2gids(op_data->op_suppgids, i1, i2);
|
||||
op_data->op_fid1 = *ll_inode2fid(i1);
|
||||
if (S_ISDIR(i1->i_mode))
|
||||
op_data->op_mea1 = ll_i2info(i1)->lli_lmv_md;
|
||||
|
||||
if (i2)
|
||||
if (i2) {
|
||||
op_data->op_fid2 = *ll_inode2fid(i2);
|
||||
else
|
||||
if (S_ISDIR(i2->i_mode))
|
||||
op_data->op_mea2 = ll_i2info(i2)->lli_lmv_md;
|
||||
} else {
|
||||
fid_zero(&op_data->op_fid2);
|
||||
}
|
||||
|
||||
if (ll_i2sbi(i1)->ll_flags & LL_SBI_64BIT_HASH)
|
||||
op_data->op_cli_flags |= CLI_HASH64;
|
||||
|
||||
if (ll_need_32bit_api(ll_i2sbi(i1)))
|
||||
op_data->op_cli_flags |= CLI_API32;
|
||||
|
||||
op_data->op_name = name;
|
||||
op_data->op_namelen = namelen;
|
||||
|
|
Загрузка…
Ссылка в новой задаче