X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flov%2Flovsub_page.c;h=c10a3dfa38c1e4c933959bf4a85a5a1a29001735;hb=68bc3984975bb72f730d8a8ab7aa2d836e50abe5;hp=59bd7494e8900ac819a2b439d1b8963eb0d2773b;hpb=b401ba0c214b184424146dda994470aa3c4356c9;p=fs%2Flustre-release.git diff --git a/lustre/lov/lovsub_page.c b/lustre/lov/lovsub_page.c index 59bd749..c10a3df 100644 --- a/lustre/lov/lovsub_page.c +++ b/lustre/lov/lovsub_page.c @@ -1,6 +1,4 @@ -/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- - * vim:expandtab:shiftwidth=8:tabstop=8: - * +/* * GPL HEADER START * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -17,17 +15,15 @@ * * You should have received a copy of the GNU General Public License * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * http://www.gnu.org/licenses/gpl-2.0.html * * GPL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2013, 2014, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -42,7 +38,9 @@ #include "lov_cl_internal.h" -/** \addtogroup lov lov @{ */ +/** \addtogroup lov + * @{ + */ /***************************************************************************** * @@ -53,31 +51,20 @@ static void lovsub_page_fini(const struct lu_env *env, struct cl_page_slice *slice) { - struct lovsub_page *lsb = cl2lovsub_page(slice); - ENTRY; - OBD_SLAB_FREE_PTR(lsb, lovsub_page_kmem); - EXIT; } static const struct cl_page_operations lovsub_page_ops = { .cpo_fini = lovsub_page_fini }; -struct cl_page *lovsub_page_init(const struct lu_env *env, - struct cl_object *obj, - struct cl_page *page, cfs_page_t *_) +int lovsub_page_init(const struct lu_env *env, struct cl_object *obj, + struct cl_page *page, pgoff_t index) { - struct lovsub_page *lsb; - int result; + struct lovsub_page *lsb = cl_object_page_slice(obj, page); + ENTRY; - ENTRY; - OBD_SLAB_ALLOC_PTR_GFP(lsb, lovsub_page_kmem, CFS_ALLOC_IO); - if (lsb != NULL) { - cl_page_slice_add(page, &lsb->lsb_cl, obj, &lovsub_page_ops); - result = 0; - } else - result = -ENOMEM; - RETURN(ERR_PTR(result)); + cl_page_slice_add(page, &lsb->lsb_cl, obj, index, &lovsub_page_ops); + RETURN(0); } /** @} lov */