Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-14291 lustre: further cleanup of acl code.
[fs/lustre-release.git]
/
lustre
/
mdt
/
mdt_internal.h
diff --git
a/lustre/mdt/mdt_internal.h
b/lustre/mdt/mdt_internal.h
index
d259696
..
bdecb34
100644
(file)
--- a/
lustre/mdt/mdt_internal.h
+++ b/
lustre/mdt/mdt_internal.h
@@
-56,7
+56,6
@@
#include <lustre_req_layout.h>
#include <lustre_sec.h>
#include <lustre_idmap.h>
#include <lustre_req_layout.h>
#include <lustre_sec.h>
#include <lustre_idmap.h>
-#include <lustre_eacl.h>
#include <lustre_quota.h>
#include <lustre_linkea.h>
#include <lustre_lmv.h>
#include <lustre_quota.h>
#include <lustre_linkea.h>
#include <lustre_lmv.h>
@@
-197,6
+196,7
@@
struct coordinator {
enum {
NO_DOM_LOCK_ON_OPEN = 0,
TRYLOCK_DOM_ON_OPEN = 1,
enum {
NO_DOM_LOCK_ON_OPEN = 0,
TRYLOCK_DOM_ON_OPEN = 1,
+ /* not used anymore, left here for compatibility */
ALWAYS_DOM_LOCK_ON_OPEN = 2,
NUM_DOM_LOCK_ON_OPEN_MODES
};
ALWAYS_DOM_LOCK_ON_OPEN = 2,
NUM_DOM_LOCK_ON_OPEN_MODES
};
@@
-292,7
+292,9
@@
struct mdt_device {
mdt_skip_lfsck:1,
mdt_readonly:1,
/* dir restripe migrate dirent only */
mdt_skip_lfsck:1,
mdt_readonly:1,
/* dir restripe migrate dirent only */
- mdt_dir_restripe_nsonly:1;
+ mdt_dir_restripe_nsonly:1,
+ /* subdirectory mount of remote dir */
+ mdt_enable_remote_subdir_mount:1;
/* user with gid can create remote/striped
* dir, and set default dir stripe */
/* user with gid can create remote/striped
* dir, and set default dir stripe */
@@
-371,6
+373,7
@@
struct mdt_lock_handle {
/* Regular lock */
struct lustre_handle mlh_reg_lh;
enum ldlm_mode mlh_reg_mode;
/* Regular lock */
struct lustre_handle mlh_reg_lh;
enum ldlm_mode mlh_reg_mode;
+ __u64 mlh_gid;
/* Pdirops lock */
struct lustre_handle mlh_pdo_lh;
/* Pdirops lock */
struct lustre_handle mlh_pdo_lh;
@@
-559,6
+562,8
@@
struct mdt_thread_info {
/* FLR: layout change API */
struct md_layout_change mti_mlc;
/* FLR: layout change API */
struct md_layout_change mti_mlc;
+
+ struct lu_seq_range mti_range;
};
extern struct lu_context_key mdt_thread_key;
};
extern struct lu_context_key mdt_thread_key;
@@
-569,14
+574,10
@@
static inline struct mdt_thread_info *mdt_th_info(const struct lu_env *env)
}
struct cdt_req_progress {
}
struct cdt_req_progress {
- s
truct mutex
crp_lock; /**< protect tree */
- struct interval_
node *crp_root;
/**< tree to track extent
+ s
pinlock_t
crp_lock; /**< protect tree */
+ struct interval_
tree_root crp_root;
/**< tree to track extent
* moved */
* moved */
- struct interval_node **crp_node; /**< buffer for tree nodes
- * vector of fixed size
- * vectors */
- int crp_cnt; /**< # of used nodes */
- int crp_max; /**< # of allocated nodes */
+ __u64 crp_total;
};
struct cdt_agent_req {
};
struct cdt_agent_req {
@@
-743,7
+744,7
@@
static inline bool mdt_lmm_comp_overstriping(struct lov_mds_md *lmm)
comp_v1 = (struct lov_comp_md_v1 *)lmm;
comp_v1 = (struct lov_comp_md_v1 *)lmm;
- for (i =
1
; i < le16_to_cpu(comp_v1->lcm_entry_count); i++) {
+ for (i =
0
; i < le16_to_cpu(comp_v1->lcm_entry_count); i++) {
off = le32_to_cpu(comp_v1->lcm_entries[i].lcme_offset);
v1 = (struct lov_mds_md *)((char *)comp_v1 + off);
off = le32_to_cpu(comp_v1->lcm_entries[i].lcme_offset);
v1 = (struct lov_mds_md *)((char *)comp_v1 + off);
@@
-778,6
+779,7
@@
void mdt_lock_pdo_init(struct mdt_lock_handle *lh, enum ldlm_mode lock_mode,
const struct lu_name *lname);
void mdt_lock_reg_init(struct mdt_lock_handle *lh, enum ldlm_mode lm);
const struct lu_name *lname);
void mdt_lock_reg_init(struct mdt_lock_handle *lh, enum ldlm_mode lm);
+void mdt_lh_reg_init(struct mdt_lock_handle *lh, struct ldlm_lock *lock);
int mdt_lock_setup(struct mdt_thread_info *info, struct mdt_object *mo,
struct mdt_lock_handle *lh);
int mdt_lock_setup(struct mdt_thread_info *info, struct mdt_object *mo,
struct mdt_lock_handle *lh);
@@
-822,6
+824,9
@@
int mdt_remote_object_lock(struct mdt_thread_info *mti,
struct mdt_object *o, const struct lu_fid *fid,
struct lustre_handle *lh,
enum ldlm_mode mode, __u64 ibits, bool cache);
struct mdt_object *o, const struct lu_fid *fid,
struct lustre_handle *lh,
enum ldlm_mode mode, __u64 ibits, bool cache);
+int mdt_object_local_lock(struct mdt_thread_info *info, struct mdt_object *o,
+ struct mdt_lock_handle *lh, __u64 *ibits,
+ __u64 trybits, bool cos_incompat);
int mdt_reint_striped_lock(struct mdt_thread_info *info,
struct mdt_object *o,
struct mdt_lock_handle *lh,
int mdt_reint_striped_lock(struct mdt_thread_info *info,
struct mdt_object *o,
struct mdt_lock_handle *lh,
@@
-928,7
+933,6
@@
void mdt_dump_lmv(unsigned int level, const union lmv_mds_md *lmv);
bool allow_client_chgrp(struct mdt_thread_info *info, struct lu_ucred *uc);
int mdt_check_ucred(struct mdt_thread_info *);
int mdt_init_ucred(struct mdt_thread_info *, struct mdt_body *);
bool allow_client_chgrp(struct mdt_thread_info *info, struct lu_ucred *uc);
int mdt_check_ucred(struct mdt_thread_info *);
int mdt_init_ucred(struct mdt_thread_info *, struct mdt_body *);
-int mdt_init_ucred_intent_getattr(struct mdt_thread_info *, struct mdt_body *);
int mdt_init_ucred_reint(struct mdt_thread_info *);
void mdt_exit_ucred(struct mdt_thread_info *);
int mdt_version_get_check(struct mdt_thread_info *, struct mdt_object *, int);
int mdt_init_ucred_reint(struct mdt_thread_info *);
void mdt_exit_ucred(struct mdt_thread_info *);
int mdt_version_get_check(struct mdt_thread_info *, struct mdt_object *, int);
@@
-964,6
+968,8
@@
int mdt_close_internal(struct mdt_thread_info *info, struct ptlrpc_request *req,
struct mdt_body *repbody);
int mdt_pack_secctx_in_reply(struct mdt_thread_info *info,
struct mdt_object *child);
struct mdt_body *repbody);
int mdt_pack_secctx_in_reply(struct mdt_thread_info *info,
struct mdt_object *child);
+int mdt_pack_encctx_in_reply(struct mdt_thread_info *info,
+ struct mdt_object *child);
static inline struct mdt_device *mdt_dev(struct lu_device *d)
{
static inline struct mdt_device *mdt_dev(struct lu_device *d)
{
@@
-1074,7
+1080,6
@@
struct cdt_agent_req *mdt_cdt_alloc_request(__u32 archive_id, __u64 flags,
void mdt_cdt_free_request(struct cdt_agent_req *car);
int mdt_cdt_add_request(struct coordinator *cdt, struct cdt_agent_req *new_car);
struct cdt_agent_req *mdt_cdt_find_request(struct coordinator *cdt, u64 cookie);
void mdt_cdt_free_request(struct cdt_agent_req *car);
int mdt_cdt_add_request(struct coordinator *cdt, struct cdt_agent_req *new_car);
struct cdt_agent_req *mdt_cdt_find_request(struct coordinator *cdt, u64 cookie);
-void mdt_cdt_get_work_done(struct cdt_agent_req *car, __u64 *done_sz);
void mdt_cdt_get_request(struct cdt_agent_req *car);
void mdt_cdt_put_request(struct cdt_agent_req *car);
struct cdt_agent_req *mdt_cdt_update_request(struct coordinator *cdt,
void mdt_cdt_get_request(struct cdt_agent_req *car);
void mdt_cdt_put_request(struct cdt_agent_req *car);
struct cdt_agent_req *mdt_cdt_update_request(struct coordinator *cdt,
@@
-1296,8
+1301,8
@@
enum mdt_stat_idx {
LPROC_MDT_LAST,
};
LPROC_MDT_LAST,
};
-void mdt_counter_incr(struct ptlrpc_request *req, int opcode);
-void mdt_stats_counter_init(struct lprocfs_stats *stats);
+void mdt_counter_incr(struct ptlrpc_request *req, int opcode
, long amount
);
+void mdt_stats_counter_init(struct lprocfs_stats *stats
, unsigned int offset
);
int mdt_tunables_init(struct mdt_device *mdt, const char *name);
void mdt_tunables_fini(struct mdt_device *mdt);
int mdt_tunables_init(struct mdt_device *mdt, const char *name);
void mdt_tunables_fini(struct mdt_device *mdt);
@@
-1307,7
+1312,8
@@
int lprocfs_mdt_open_files_seq_open(struct inode *inode,
void mdt_rename_counter_tally(struct mdt_thread_info *info,
struct mdt_device *mdt,
struct ptlrpc_request *req,
void mdt_rename_counter_tally(struct mdt_thread_info *info,
struct mdt_device *mdt,
struct ptlrpc_request *req,
- struct mdt_object *src, struct mdt_object *tgt);
+ struct mdt_object *src, struct mdt_object *tgt,
+ long count);
static inline struct obd_device *mdt2obd_dev(const struct mdt_device *mdt)
{
static inline struct obd_device *mdt2obd_dev(const struct mdt_device *mdt)
{
@@
-1404,7
+1410,7
@@
static inline bool mdt_is_rootadmin(struct mdt_thread_info *info)
uc = mdt_ucred(info);
is_admin = (uc->uc_uid == 0 && uc->uc_gid == 0 &&
uc = mdt_ucred(info);
is_admin = (uc->uc_uid == 0 && uc->uc_gid == 0 &&
- md_capable(uc, C
FS_C
AP_SYS_ADMIN));
+ md_capable(uc, CAP_SYS_ADMIN));
mdt_exit_ucred(info);
mdt_exit_ucred(info);
@@
-1430,5
+1436,8
@@
void mdt_restripe_migrate_add(struct mdt_thread_info *info,
struct mdt_object *o);
void mdt_restripe_update_add(struct mdt_thread_info *info,
struct mdt_object *o);
struct mdt_object *o);
void mdt_restripe_update_add(struct mdt_thread_info *info,
struct mdt_object *o);
+int mdt_is_remote_object(struct mdt_thread_info *info,
+ struct mdt_object *parent,
+ struct mdt_object *child);
#endif /* _MDT_INTERNAL_H */
#endif /* _MDT_INTERNAL_H */