* GPL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*/
/*
}
#endif
+/* PDO lock is unnecessary for current MDT stack because operations
+ * are already protected by ldlm lock */
+#define MDD_DISABLE_PDO_LOCK 1
+
enum mdd_txn_op {
MDD_TXN_OBJECT_DESTROY_OP = 0,
MDD_TXN_OBJECT_CREATE_OP,
#define CLM_PURGE 0x40000
struct mdd_changelog {
- spinlock_t mc_lock; /* for index */
- cfs_waitq_t mc_waitq;
+ cfs_spinlock_t mc_lock; /* for index */
int mc_flags;
int mc_mask;
__u64 mc_index;
__u64 mc_starttime;
- spinlock_t mc_user_lock;
+ cfs_spinlock_t mc_user_lock;
int mc_lastuser;
};
unsigned long mdd_atime_diff;
struct mdd_object *mdd_dot_lustre;
struct mdd_dot_lustre_objs mdd_dot_lustre_objs;
+ unsigned int mdd_sync_permission;
};
enum mod_flags {
struct mdd_object *mdd_object_find(const struct lu_env *env,
struct mdd_device *d,
const struct lu_fid *f);
-int mdd_get_default_md(struct mdd_object *mdd_obj, struct lov_mds_md *lmm,
- int *size);
+int mdd_get_default_md(struct mdd_object *mdd_obj, struct lov_mds_md *lmm);
int mdd_readpage(const struct lu_env *env, struct md_object *obj,
const struct lu_rdpg *rdpg);
int mdd_quota_cleanup(const struct lu_env *env, struct md_device *m);
int mdd_quota_recovery(const struct lu_env *env, struct md_device *m);
int mdd_quota_check(const struct lu_env *env, struct md_device *m,
- struct obd_export *exp, __u32 type);
+ __u32 type);
int mdd_quota_on(const struct lu_env *env, struct md_device *m,
__u32 type);
int mdd_quota_off(const struct lu_env *env, struct md_device *m,
return lu_object_fid(&obj->mod_obj.mo_lu);
}
-static inline umode_t mdd_object_type(const struct mdd_object *obj)
+static inline cfs_umode_t mdd_object_type(const struct mdd_object *obj)
{
return lu_object_attr(&obj->mod_obj.mo_lu);
}