Whamcloud - gitweb
b=22176 Add .sync_fs super block handler
[fs/lustre-release.git] / lustre / osc / osc_internal.h
index 90c2590..b30fc9b 100644 (file)
@@ -26,7 +26,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  */
 /*
@@ -49,6 +49,7 @@ enum async_flags {
                                      to give the caller a chance to update
                                      or cancel the size of the io */
         ASYNC_HP = 0x10,
+        ASYNC_SYNCFS = 0x20,
 };
 
 struct obd_async_page_ops {
@@ -63,9 +64,9 @@ struct osc_async_page {
         unsigned short          oap_cmd;
         unsigned short          oap_interrupted:1;
 
-        struct list_head        oap_pending_item;
-        struct list_head        oap_urgent_item;
-        struct list_head        oap_rpc_item;
+        cfs_list_t              oap_pending_item;
+        cfs_list_t              oap_urgent_item;
+        cfs_list_t              oap_rpc_item;
 
         obd_off                 oap_obj_off;
         unsigned                oap_page_off;
@@ -79,9 +80,9 @@ struct osc_async_page {
 
         const struct obd_async_page_ops *oap_caller_ops;
         void                    *oap_caller_data;
-        struct list_head         oap_page_list;
+        cfs_list_t               oap_page_list;
         struct ldlm_lock        *oap_ldlm_lock;
-        spinlock_t               oap_lock;
+        cfs_spinlock_t           oap_lock;
 };
 
 #define oap_page        oap_brw_page.pg
@@ -89,9 +90,9 @@ struct osc_async_page {
 #define oap_brw_flags   oap_brw_page.flag
 
 struct osc_cache_waiter {
-        struct list_head        ocw_entry;
+        cfs_list_t              ocw_entry;
         cfs_waitq_t             ocw_waitq;
-        struct osc_async_page   *ocw_oap;
+        struct osc_async_page  *ocw_oap;
         int                     ocw_rc;
 };
 
@@ -136,8 +137,11 @@ int osc_match_base(struct obd_export *exp, struct ldlm_res_id *res_id,
                    int *flags, void *data, struct lustre_handle *lockh,
                    int unref);
 
-int osc_punch_base(struct obd_export *exp, struct obdo *oa,
-                   struct obd_capa *capa,
+int osc_setattr_async_base(struct obd_export *exp, struct obd_info *oinfo,
+                           struct obd_trans_info *oti,
+                           obd_enqueue_update_f upcall, void *cookie,
+                           struct ptlrpc_request_set *rqset);
+int osc_punch_base(struct obd_export *exp, struct obd_info *oinfo,
                    obd_enqueue_update_f upcall, void *cookie,
                    struct ptlrpc_request_set *rqset);
 
@@ -168,7 +172,7 @@ int osc_enter_cache_try(const struct lu_env *env,
                         struct osc_async_page *oap, int transient);
 
 struct cl_page *osc_oap2cl_page(struct osc_async_page *oap);
-extern spinlock_t osc_ast_guard;
+extern cfs_spinlock_t osc_ast_guard;
 
 int osc_cleanup(struct obd_device *obd);
 int osc_setup(struct obd_device *obd, struct lustre_cfg *lcfg);
@@ -194,8 +198,8 @@ static inline int osc_recoverable_error(int rc)
 /* return 1 if osc should be resend request */
 static inline int osc_should_resend(int resend, struct client_obd *cli)
 {
-        return atomic_read(&cli->cl_resends) ?
-               atomic_read(&cli->cl_resends) > resend : 1;
+        return cfs_atomic_read(&cli->cl_resends) ?
+               cfs_atomic_read(&cli->cl_resends) > resend : 1;
 }
 
 #ifndef min_t
@@ -224,5 +228,6 @@ static inline struct osc_device *obd2osc_dev(const struct obd_device *d)
         return container_of0(d->obd_lu_dev, struct osc_device, od_cl.cd_lu_dev);
 }
 
+int osc_dlm_lock_pageref(struct ldlm_lock *dlm);
 
 #endif /* OSC_INTERNAL_H */