return container_of(pga, struct osc_async_page, oap_brw_page);
}
-struct osc_cache_waiter {
- struct list_head ocw_entry;
- wait_queue_head_t ocw_waitq;
- struct osc_async_page *ocw_oap;
- int ocw_grant;
- int ocw_rc;
-};
-
struct osc_device {
struct cl_device od_cl;
struct obd_export *od_exp;
int aa_requested_nob;
int aa_nio_count;
u32 aa_page_count;
- int aa_resends;
+ s32 aa_resends;
struct brw_page **aa_ppga;
struct client_obd *aa_cli;
struct list_head aa_oaps;
pgoff_t start, pgoff_t end);
int osc_io_unplug0(const struct lu_env *env, struct client_obd *cli,
struct osc_object *osc, int async);
-void osc_wake_cache_waiters(struct client_obd *cli);
+static inline void osc_wake_cache_waiters(struct client_obd *cli)
+{
+ wake_up(&cli->cl_cache_waiters);
+}
static inline int osc_io_unplug_async(const struct lu_env *env,
struct client_obd *cli,
return (struct cl_object *)&obj->oo_cl;
}
-static inline struct osc_device *obd2osc_dev(const struct obd_device *d)
+static inline struct osc_device *obd2osc_dev(const struct obd_device *obd)
{
- return container_of0(d->obd_lu_dev, struct osc_device,
+ return container_of0(obd->obd_lu_dev, struct osc_device,
od_cl.cd_lu_dev);
}
/** state of this extent */
enum osc_extent_state oe_state;
/** flags for this extent. */
- unsigned int oe_intree:1,
/** 0 is write, 1 is read */
- oe_rw:1,
+ unsigned int oe_rw:1,
/** sync extent, queued by osc_queue_sync_pages() */
oe_sync:1,
/** set if this extent has partial, sync pages.