Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae322e05 authored by John L. Hammond's avatar John L. Hammond Committed by Greg Kroah-Hartman
Browse files

staging: lustre: lov: remove lov and lod stuff from obd.h



Remove QOS related data structures from obd.h to the
lov_internal.h. Remove the declarations of several
functions that no longer exist.

Signed-off-by: default avatarJohn L. Hammond <john.hammond@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675
Reviewed-on: http://review.whamcloud.com/8687


Reviewed-by: default avatarAndreas Dilger <andreas.dilger@intel.com>
Reviewed-by: default avatarJinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: default avatarJames Simmons <jsimmons@infradead.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 219eeac8
Loading
Loading
Loading
Loading
+0 −60
Original line number Diff line number Diff line
@@ -166,9 +166,6 @@ struct obd_info {
	obd_enqueue_update_f    oi_cb_up;
};

void lov_stripe_lock(struct lov_stripe_md *md);
void lov_stripe_unlock(struct lov_stripe_md *md);

struct obd_type {
	struct list_head typ_chain;
	struct obd_ops *typ_dt_ops;
@@ -390,45 +387,9 @@ struct ost_pool {
	struct rw_semaphore op_rw_sem;     /* to protect ost_pool use */
};

/* Round-robin allocator data */
struct lov_qos_rr {
	__u32	       lqr_start_idx;   /* start index of new inode */
	__u32	       lqr_offset_idx;  /* aliasing for start_idx  */
	int		 lqr_start_count; /* reseed counter */
	struct ost_pool     lqr_pool;	/* round-robin optimized list */
	unsigned long       lqr_dirty:1;     /* recalc round-robin list */
};

/* allow statfs data caching for 1 second */
#define OBD_STATFS_CACHE_SECONDS 1

struct lov_statfs_data {
	struct obd_info   lsd_oi;
	struct obd_statfs lsd_statfs;
};

/* Stripe placement optimization */
struct lov_qos {
	struct list_head    lq_oss_list; /* list of OSSs that targets use */
	struct rw_semaphore lq_rw_sem;
	__u32		lq_active_oss_count;
	unsigned int	lq_prio_free;   /* priority for free space */
	unsigned int	lq_threshold_rr;/* priority for rr */
	struct lov_qos_rr   lq_rr;	  /* round robin qos data */
	unsigned long       lq_dirty:1,     /* recalc qos data */
			    lq_same_space:1,/* the ost's all have approx.
					     * the same space avail
					     */
			    lq_reset:1,     /* zero current penalties */
			    lq_statfs_in_progress:1; /* statfs op in
							progress */
	/* qos statfs data */
	struct lov_statfs_data *lq_statfs_data;
	wait_queue_head_t lq_statfs_waitq; /* waitqueue to notify statfs
					    * requests completion
					    */
};

struct lov_tgt_desc {
	struct list_head	  ltd_kill;
	struct obd_uuid     ltd_uuid;
@@ -441,25 +402,6 @@ struct lov_tgt_desc {
			    ltd_reap:1;  /* should this target be deleted */
};

/* Pool metadata */
#define pool_tgt_size(_p)   _p->pool_obds.op_size
#define pool_tgt_count(_p)  _p->pool_obds.op_count
#define pool_tgt_array(_p)  _p->pool_obds.op_array
#define pool_tgt_rw_sem(_p) _p->pool_obds.op_rw_sem

struct pool_desc {
	char		  pool_name[LOV_MAXPOOLNAME + 1]; /* name of pool */
	struct ost_pool       pool_obds;	      /* pool members */
	atomic_t	  pool_refcount;	  /* pool ref. counter */
	struct lov_qos_rr     pool_rr;		/* round robin qos */
	struct hlist_node      pool_hash;	      /* access by poolname */
	struct list_head	    pool_list;	      /* serial access */
	struct dentry		*pool_debugfs_entry;	/* file in debugfs */
	struct obd_device    *pool_lobd;	/* obd of the lov/lod to which
						 * this pool belongs
						 */
};

struct lov_obd {
	struct lov_desc	 desc;
	struct lov_tgt_desc   **lov_tgts;	      /* sparse array */
@@ -467,8 +409,6 @@ struct lov_obd {
	struct mutex		lov_lock;
	struct obd_connect_data lov_ocd;
	atomic_t	    lov_refcount;
	__u32		   lov_tgt_count;	 /* how many OBD's */
	__u32		   lov_active_tgt_count;  /* how many active */
	__u32		   lov_death_row;/* tgts scheduled to be deleted */
	__u32		   lov_tgt_size;   /* size of tgts array */
	int		     lov_connects;
+17 −4
Original line number Diff line number Diff line
@@ -72,6 +72,21 @@
})
#endif

#define pool_tgt_size(p)	((p)->pool_obds.op_size)
#define pool_tgt_count(p)	((p)->pool_obds.op_count)
#define pool_tgt_array(p)	((p)->pool_obds.op_array)
#define pool_tgt_rw_sem(p)	((p)->pool_obds.op_rw_sem)

struct pool_desc {
	char			 pool_name[LOV_MAXPOOLNAME + 1];
	struct ost_pool		 pool_obds;
	atomic_t		 pool_refcount;
	struct hlist_node	 pool_hash;		/* access by poolname */
	struct list_head	 pool_list;		/* serial access */
	struct dentry		*pool_debugfs_entry;	/* file in debugfs */
	struct obd_device	*pool_lobd;		/* owner */
};

struct lov_request {
	struct obd_info	  rq_oi;
	struct lov_request_set  *rq_rqset;
@@ -149,10 +164,6 @@ int lov_stripe_number(struct lov_stripe_md *lsm, u64 lov_off);
pgoff_t lov_stripe_pgoff(struct lov_stripe_md *lsm, pgoff_t stripe_index,
			 int stripe);

/* lov_qos.c */
#define LOV_USES_ASSIGNED_STRIPE	0
#define LOV_USES_DEFAULT_STRIPE	 1

/* lov_request.c */
int lov_update_common_set(struct lov_request_set *set,
			  struct lov_request *req, int rc);
@@ -178,6 +189,8 @@ int lov_fini_statfs_set(struct lov_request_set *set);
int lov_statfs_interpret(struct ptlrpc_request_set *rqset, void *data, int rc);

/* lov_obd.c */
void lov_stripe_lock(struct lov_stripe_md *md);
void lov_stripe_unlock(struct lov_stripe_md *md);
void lov_fix_desc(struct lov_desc *desc);
void lov_fix_desc_stripe_size(__u64 *val);
void lov_fix_desc_stripe_count(__u32 *val);
+0 −2
Original line number Diff line number Diff line
@@ -2192,7 +2192,6 @@ void lov_stripe_lock(struct lov_stripe_md *md)
	LASSERT(md->lsm_lock_owner == 0);
	md->lsm_lock_owner = current_pid();
}
EXPORT_SYMBOL(lov_stripe_lock);

void lov_stripe_unlock(struct lov_stripe_md *md)
		__releases(&md->lsm_lock)
@@ -2201,7 +2200,6 @@ void lov_stripe_unlock(struct lov_stripe_md *md)
	md->lsm_lock_owner = 0;
	spin_unlock(&md->lsm_lock);
}
EXPORT_SYMBOL(lov_stripe_unlock);

static int lov_quotactl(struct obd_device *obd, struct obd_export *exp,
			struct obd_quotactl *oqctl)
+1 −14
Original line number Diff line number Diff line
@@ -65,7 +65,6 @@ void lov_pool_putref(struct pool_desc *pool)
		LASSERT(hlist_unhashed(&pool->pool_hash));
		LASSERT(list_empty(&pool->pool_list));
		LASSERT(!pool->pool_debugfs_entry);
		lov_ost_pool_free(&(pool->pool_rr.lqr_pool));
		lov_ost_pool_free(&(pool->pool_obds));
		kfree(pool);
	}
@@ -424,11 +423,6 @@ int lov_pool_new(struct obd_device *obd, char *poolname)
	if (rc)
		goto out_err;

	memset(&(new_pool->pool_rr), 0, sizeof(struct lov_qos_rr));
	rc = lov_ost_pool_init(&new_pool->pool_rr.lqr_pool, 0);
	if (rc)
		goto out_free_pool_obds;

	INIT_HLIST_NODE(&new_pool->pool_hash);

	/* get ref for debugfs file */
@@ -469,13 +463,10 @@ int lov_pool_new(struct obd_device *obd, char *poolname)
	list_del_init(&new_pool->pool_list);
	lov->lov_pool_count--;
	spin_unlock(&obd->obd_dev_lock);

	ldebugfs_remove(&new_pool->pool_debugfs_entry);

	lov_ost_pool_free(&new_pool->pool_rr.lqr_pool);
out_free_pool_obds:
	lov_ost_pool_free(&new_pool->pool_obds);
	kfree(new_pool);

	return rc;
}

@@ -543,8 +534,6 @@ int lov_pool_add(struct obd_device *obd, char *poolname, char *ostname)
	if (rc)
		goto out;

	pool->pool_rr.lqr_dirty = 1;

	CDEBUG(D_CONFIG, "Added %s to "LOV_POOLNAMEF" as member %d\n",
	       ostname, poolname,  pool_tgt_count(pool));

@@ -589,8 +578,6 @@ int lov_pool_remove(struct obd_device *obd, char *poolname, char *ostname)

	lov_ost_pool_remove(&pool->pool_obds, lov_idx);

	pool->pool_rr.lqr_dirty = 1;

	CDEBUG(D_CONFIG, "%s removed from "LOV_POOLNAMEF"\n", ostname,
	       poolname);