* GPL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*/
/*
* Serializes access to lov_device::ld_emrg in low-memory
* conditions.
*/
- struct mutex ld_mutex;
+ cfs_mutex_t ld_mutex;
};
/**
LLT_EMPTY,
/** striped file */
LLT_RAID0,
- /** join file */
- LLT_JOIN,
LLT_NR
};
*
* \see lov_object::lo_type
*/
- struct rw_semaphore lo_type_guard;
+ cfs_rw_semaphore_t lo_type_guard;
/**
* Type of an object. Protected by lov_object::lo_type_guard.
*/
*/
struct lovsub_object **lo_sub;
/**
+ * protect lo_sub
+ */
+ cfs_spinlock_t lo_sub_lock;
+ /**
* When this is true, lov_object::lo_attr contains
* valid up to date attributes for a top-level
* object. This field is reset to 0 when attributes of
} raid0;
struct lov_layout_state_empty {
} empty;
- struct lov_layout_state_join {
- } join;
} u;
/**
* Thread that acquired lov_object::lo_type_guard in an exclusive
unsigned lls_nr_filled;
/**
* Set when sub-lock was canceled, while top-lock was being
- * unlocked.
+ * used, or unused.
*/
- int lls_unuse_race;
+ int lls_cancel_race:1;
/**
* An array of sub-locks
*
* A linkage into per sub-lock list of all corresponding top-locks,
* hanging off lovsub_lock::lss_parents.
*/
- struct list_head lll_list;
+ cfs_list_t lll_list;
};
/**
* List of top-locks that have given sub-lock as their part. Protected
* by cl_lock::cll_guard mutex.
*/
- struct list_head lss_parents;
+ cfs_list_t lss_parents;
/**
* Top-lock that initiated current operation on this sub-lock. This is
* only set during top-to-bottom lock operations like enqueue, and is
* Linkage into a list (hanging off lov_io::lis_active) of all
* sub-io's active for the current IO iteration.
*/
- struct list_head sub_linkage;
+ cfs_list_t sub_linkage;
/**
* true, iff cl_io_init() was successfully executed against
* lov_io_sub::sub_io.
/**
* List of active sub-io's.
*/
- struct list_head lis_active;
+ cfs_list_t lis_active;
};
struct lov_session {