Whamcloud - gitweb
LU-928 llite: fix comment for lustre_client_ocd
[fs/lustre-release.git] / lustre / include / lu_object.h
index 2b9424f..f431e0b 100644 (file)
@@ -30,6 +30,9 @@
  * Use is subject to license terms.
  */
 /*
+ * Copyright (c) 2011 Whamcloud, Inc.
+ */
+/*
  * This file is part of Lustre, http://www.lustre.org/
  * Lustre is a trademark of Sun Microsystems, Inc.
  */
@@ -169,11 +172,23 @@ struct lu_device_operations {
 };
 
 /**
+ * For lu_object_conf flags
+ */
+typedef enum {
+        /* Currently, only used for client-side object initialization. */
+        LOC_F_NEW = 0x1,
+} loc_flags_t;
+
+/**
  * Object configuration, describing particulars of object being created. On
  * server this is not used, as server objects are full identified by fid. On
  * client configuration contains struct lustre_md.
  */
 struct lu_object_conf {
+        /**
+         * Some hints for obj find and alloc.
+         */
+        loc_flags_t     loc_flags;
 };
 
 /**
@@ -278,6 +293,10 @@ struct lu_device {
          * A list of references to this object, for debugging.
          */
         struct lu_ref                      ld_reference;
+        /**
+         * Link the device to the site.
+         **/
+        cfs_list_t                         ld_linkage;
 };
 
 struct lu_device_type_operations;
@@ -616,6 +635,13 @@ struct lu_site {
          */
         cfs_list_t                ls_linkage;
         /**
+         * List for lu device for this site, protected
+         * by ls_ld_lock.
+         **/
+        cfs_list_t                ls_ld_linkage;
+        cfs_spinlock_t            ls_ld_lock;
+
+        /**
          * lu_site stats
          */
         struct lprocfs_stats     *ls_stats;
@@ -817,6 +843,7 @@ int lu_object_invariant(const struct lu_object *o);
 
 /**
  * \retval  1 iff object \a o exists on stable storage,
+ * \retval  0 iff object \a o not exists on stable storage.
  * \retval -1 iff object \a o is on remote server.
  */
 static inline int lu_object_exists(const struct lu_object *o)