X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fosc%2Fosc_internal.h;h=227e7c854b33f63a6119027502983ef116cbcd30;hb=30964bcc157e3ad76714b7e55491112c3ae8ebad;hp=bba36c02d9a9388085cb4fe3d0def63cc9b1fde3;hpb=191061ee668400324f4505cf498f1ee2d57e4962;p=fs%2Flustre-release.git diff --git a/lustre/osc/osc_internal.h b/lustre/osc/osc_internal.h index bba36c0..227e7c8 100644 --- a/lustre/osc/osc_internal.h +++ b/lustre/osc/osc_internal.h @@ -23,7 +23,7 @@ struct osc_async_page { obd_off oap_obj_off; obd_off oap_page_off; int oap_count; - obd_flag oap_brw_flags; + obd_flags oap_brw_flags; enum async_flags oap_async_flags; unsigned long oap_interrupted:1; @@ -37,6 +37,10 @@ struct osc_async_page { void *oap_caller_data; }; +#define OAP_FROM_COOKIE(c) \ + (LASSERT(((struct osc_async_page *)(c))->oap_magic == OAP_MAGIC), \ + (struct osc_async_page *)(c)) + struct osc_cache_waiter { struct list_head ocw_entry; wait_queue_head_t ocw_waitq; @@ -44,12 +48,15 @@ struct osc_cache_waiter { int ocw_rc; }; -#define OSCC_FLAG_RECOVERING 1 -#define OSCC_FLAG_CREATING 2 -#define OSCC_FLAG_NOSPC 4 /* can't create more objects on this OST */ -#define OSCC_FLAG_SYNC_IN_PROGRESS 8 /* only allow one thread to sync */ +#define OSCC_FLAG_RECOVERING 0x01 +#define OSCC_FLAG_CREATING 0x02 +#define OSCC_FLAG_NOSPC 0x04 /* can't create more objects on OST */ +#define OSCC_FLAG_SYNC_IN_PROGRESS 0x08 /* only allow one thread to sync */ +#define OSCC_FLAG_LOW 0x10 +#define OSCC_FLAG_EXITING 0x20 int osc_create(struct obd_export *exp, struct obdo *oa, + void *acl, int acl_size, struct lov_stripe_md **ea, struct obd_trans_info *oti); int osc_real_create(struct obd_export *exp, struct obdo *oa, struct lov_stripe_md **ea, struct obd_trans_info *oti);