X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fobdfilter%2Ffilter_internal.h;h=dbe4fae2a7c4940de5a0648ba7d58cfa49ec58a7;hb=8e417baed54e23cfa35e3caff9b46144e083f1a8;hp=fb82e4442975273bafd33d7006a3b87b4f8d7092;hpb=62bc52e7b75804bb8b4d045ecb2febac9e68e775;p=fs%2Flustre-release.git diff --git a/lustre/obdfilter/filter_internal.h b/lustre/obdfilter/filter_internal.h index fb82e44..dbe4fae 100644 --- a/lustre/obdfilter/filter_internal.h +++ b/lustre/obdfilter/filter_internal.h @@ -40,7 +40,6 @@ #ifdef __KERNEL__ # include #endif -#include #include #include #include @@ -59,6 +58,7 @@ OBD_INCOMPAT_COMMON_LR) #define FILTER_GRANT_CHUNK (2ULL * PTLRPC_MAX_BRW_SIZE) +#define FILTER_GRANT_SHRINK_LIMIT (16ULL * FILTER_GRANT_CHUNK) #define GRANT_FOR_LLOG(obd) 16 extern struct file_operations filter_per_export_stats_fops; @@ -126,7 +126,7 @@ enum { extern int *obdfilter_created_scratchpad; extern void target_recovery_fini(struct obd_device *obd); -extern void target_recovery_init(struct obd_device *obd, +extern void target_recovery_init(struct lu_target *lut, svc_handler_t handler); /* filter.c */ @@ -137,8 +137,8 @@ struct dentry *__filter_oa2dentry(struct obd_device *obd, struct obdo *oa, const char *what, int quiet); #define filter_oa2dentry(obd, oa) __filter_oa2dentry(obd, oa, __FUNCTION__, 0) -int filter_finish_transno(struct obd_export *, struct obd_trans_info *, int rc, - int force_sync); +int filter_finish_transno(struct obd_export *, struct inode *, + struct obd_trans_info *, int rc, int force_sync); __u64 filter_next_id(struct filter_obd *, struct obdo *); __u64 filter_last_id(struct filter_obd *, obd_gr group); int filter_update_fidea(struct obd_export *exp, struct inode *inode, @@ -150,7 +150,7 @@ int filter_common_setup(struct obd_device *, struct lustre_cfg *lcfg, void *option); int filter_destroy(struct obd_export *exp, struct obdo *oa, struct lov_stripe_md *md, struct obd_trans_info *, - struct obd_export *); + struct obd_export *, void *); int filter_setattr_internal(struct obd_export *exp, struct dentry *dentry, struct obdo *oa, struct obd_trans_info *oti); int filter_setattr(struct obd_export *exp, struct obd_info *oinfo, @@ -188,6 +188,7 @@ long filter_grant(struct obd_export *exp, obd_size current_grant, obd_size want, obd_size fs_space_left); void filter_grant_commit(struct obd_export *exp, int niocount, struct niobuf_local *res); +void filter_grant_incoming(struct obd_export *exp, struct obdo *oa); struct filter_iobuf *filter_alloc_iobuf(struct filter_obd *, int rw, int num_pages); void filter_free_iobuf(struct filter_iobuf *iobuf); @@ -235,15 +236,11 @@ static void lprocfs_filter_init_vars(struct lprocfs_static_vars *lvars) /* Quota stuff */ extern quota_interface_t *filter_quota_interface_ref; -/* Capability */ -static inline __u64 obdo_mdsno(struct obdo *oa) -{ - return oa->o_gr - FILTER_GROUP_MDS0; -} - int filter_update_capa_key(struct obd_device *obd, struct lustre_capa_key *key); int filter_auth_capa(struct obd_export *exp, struct lu_fid *fid, __u64 mdsid, struct lustre_capa *capa, __u64 opc); +int filter_capa_fixoa(struct obd_export *exp, struct obdo *oa, __u64 mdsid, + struct lustre_capa *capa); void filter_free_capa_keys(struct filter_obd *filter); void blacklist_add(uid_t uid);