* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2011, 2013, Intel Corporation.
+ * Copyright (c) 2011, 2014, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
const struct lu_fid *rr_fid2;
struct lu_name rr_name;
struct lu_name rr_tgt_name;
- const void *rr_eadata;
+ void *rr_eadata;
int rr_eadatalen;
__u32 rr_flags;
};
int mdt_close_unpack(struct mdt_thread_info *info);
int mdt_reint_unpack(struct mdt_thread_info *info, __u32 op);
int mdt_reint_rec(struct mdt_thread_info *, struct mdt_lock_handle *);
+#ifdef CONFIG_FS_POSIX_ACL
+int mdt_pack_acl2body(struct mdt_thread_info *info, struct mdt_body *repbody,
+ struct mdt_object *o, struct lu_nodemap *nodemap);
+#endif
void mdt_pack_attr2body(struct mdt_thread_info *info, struct mdt_body *b,
const struct lu_attr *attr, const struct lu_fid *fid);
int mdt_mfd_close(struct mdt_thread_info *info, struct mdt_file_data *mfd);
void mdt_mfd_free(struct mdt_file_data *mfd);
int mdt_close(struct tgt_session_info *tsi);
-int mdt_attr_set(struct mdt_thread_info *info, struct mdt_object *mo,
- struct md_attr *ma, int flags);
int mdt_add_dirty_flag(struct mdt_thread_info *info, struct mdt_object *mo,
struct md_attr *ma);
int mdt_done_writing(struct tgt_session_info *tsi);
void mdt_dump_lmm(int level, const struct lov_mds_md *lmm, __u64 valid);
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 *);
int mdt_init_ucred_reint(struct mdt_thread_info *);
int mdt_pack_remote_perm(struct mdt_thread_info *, struct mdt_object *, void *);
+/* mdt/mdt_recovery.c */
+void mdt_req_from_lcd(struct ptlrpc_request *req, struct lsd_client_data *lcd);
+
/* mdt/mdt_hsm.c */
int mdt_hsm_state_get(struct tgt_session_info *tsi);
int mdt_hsm_state_set(struct tgt_session_info *tsi);
int mds_mod_init(void);
void mds_mod_exit(void);
-#endif /* _MDT_H */
+static inline char *mdt_req_get_jobid(struct ptlrpc_request *req)
+{
+ struct obd_export *exp = req->rq_export;
+ char *jobid = NULL;
+
+ if (exp_connect_flags(exp) & OBD_CONNECT_JOBSTATS)
+ jobid = lustre_msg_get_jobid(req->rq_reqmsg);
+
+ return jobid;
+}
+
+#endif /* _MDT_INTERNAL_H */