Whamcloud - gitweb
LU-6350 lfsck: lock object based on prediction for bad linkEA
[fs/lustre-release.git] / lustre / lov / lov_cl_internal.h
index 93bec95..16c7708 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2012, 2013, Intel Corporation.
+ * Copyright (c) 2012, 2014, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
  *     - top-page keeps a reference to its sub-page, and destroys it when it
  *       is destroyed.
  *
- *     - sub-lock keep a reference to its top-locks. Top-lock keeps a
- *       reference (and a hold, see cl_lock_hold()) on its sub-locks when it
- *       actively using them (that is, in cl_lock_state::CLS_QUEUING,
- *       cl_lock_state::CLS_ENQUEUED, cl_lock_state::CLS_HELD states). When
- *       moving into cl_lock_state::CLS_CACHED state, top-lock releases a
- *       hold. From this moment top-lock has only a 'weak' reference to its
- *       sub-locks. This reference is protected by top-lock
- *       cl_lock::cll_guard, and will be automatically cleared by the sub-lock
- *       when the latter is destroyed. When a sub-lock is canceled, a
- *       reference to it is removed from the top-lock array, and top-lock is
- *       moved into CLS_NEW state. It is guaranteed that all sub-locks exist
- *       while their top-lock is in CLS_HELD or CLS_CACHED states.
- *
  *     - IO's are not reference counted.
  *
  * To implement a connection between top and sub entities, lov layer is split
@@ -456,12 +443,12 @@ struct lov_io {
          * starting position within a file, for the current io loop iteration
          * (stripe), used by ci_io_loop().
          */
-        obd_off            lis_pos;
+       loff_t                   lis_pos;
         /**
          * end position with in a file, for the current stripe io. This is
          * exclusive (i.e., next offset after last byte affected by io).
          */
-        obd_off            lis_endpos;
+       loff_t                   lis_endpos;
 
         int                lis_mem_frozen;
         int                lis_stripe_count;
@@ -762,11 +749,15 @@ static inline struct lov_thread_info *lov_env_info(const struct lu_env *env)
 static inline struct lov_layout_raid0 *lov_r0(struct lov_object *lov)
 {
        LASSERT(lov->lo_type == LLT_RAID0);
-       LASSERT(lov->lo_lsm->lsm_wire.lw_magic == LOV_MAGIC ||
-               lov->lo_lsm->lsm_wire.lw_magic == LOV_MAGIC_V3);
+       LASSERT(lov->lo_lsm->lsm_magic == LOV_MAGIC ||
+               lov->lo_lsm->lsm_magic == LOV_MAGIC_V3);
        return &lov->u.raid0;
 }
 
+/* lov_pack.c */
+int lov_getstripe(struct lov_object *obj, struct lov_stripe_md *lsm,
+                 struct lov_user_md __user *lump);
+
 /** @} lov */
 
 #endif