* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 only,
* as published by the Free Software Foundation.
-
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License version 2 for more details. A copy is
* included in the COPYING file that accompanied this code.
-
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
* Copyright 2009 Sun Microsystems, Inc. All rights reserved
* Use is subject to license terms.
*
- * Copyright (c) 2012, 2013, Intel Corporation.
+ * Copyright (c) 2012, 2014, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
#define LOV_USES_ASSIGNED_STRIPE 0
#define LOV_USES_DEFAULT_STRIPE 1
+/* Special values to remove LOV EA from disk */
+#define LOVEA_DELETE_VALUES(size, count, offset, pool) \
+ ((size) == 0 && (count) == 0 && \
+ (offset) == (typeof(offset))(-1) && (pool) == NULL)
+
+#define LMVEA_DELETE_VALUES(count, offset) \
+ ((count) == 0 && (offset) == (typeof(offset))(-1))
+
+#define LOV_OFFSET_DEFAULT ((__u16)-1)
+
struct lod_qos_rr {
__u32 lqr_start_idx; /* start index of new inode */
__u32 lqr_offset_idx; /* aliasing for start_idx */
struct dt_device lod_dt_dev;
struct obd_export *lod_child_exp;
struct dt_device *lod_child;
- cfs_proc_dir_entry_t *lod_proc_entry;
+ struct proc_dir_entry *lod_proc_entry;
struct lprocfs_stats *lod_stats;
spinlock_t lod_connects_lock;
int lod_connects;
cfs_foreach_bit((__dev)->lod_ost_bitmap, (index))
/* lod_dev.c */
+extern struct kmem_cache *lod_object_kmem;
int lod_fld_lookup(const struct lu_env *env, struct lod_device *lod,
const struct lu_fid *fid, __u32 *tgt, int *flags);
/* lod_lov.c */
const struct lu_buf *buf);
int lod_initialize_objects(const struct lu_env *env, struct lod_object *mo,
struct lov_ost_data_v1 *objs);
-int lod_store_def_striping(const struct lu_env *env, struct dt_object *dt,
- struct thandle *th);
int lod_verify_striping(struct lod_device *d, const struct lu_buf *buf,
bool is_from_disk);
int lod_generate_and_set_lovea(const struct lu_env *env,
void lod_procfs_fini(struct lod_device *lod);
/* lod_object.c */
+extern struct dt_object_operations lod_obj_ops;
+extern struct lu_object_operations lod_lu_obj_ops;
int lod_load_lmv_shards(const struct lu_env *env, struct lod_object *lo,
struct lu_buf *buf, bool resize);
int lod_object_set_pool(struct lod_object *o, char *pool);