X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Flov%2Flovsub_page.c;h=0d4594d2450f8e607de74bc56ff33642bc3d32b6;hb=cd65aabf75767b62da042b173592d60f7d548433;hp=ff67397c6d2529c6c39617995a2467b9f8f26ace;hpb=3d3e8e27d6bfbfcf6970f7aa8942caf7a362c3db;p=fs%2Flustre-release.git diff --git a/lustre/lov/lovsub_page.c b/lustre/lov/lovsub_page.c index ff67397..0d4594d 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. @@ -26,8 +24,10 @@ * 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 +42,9 @@ #include "lov_cl_internal.h" -/** \addtogroup lov lov @{ */ +/** \addtogroup lov + * @{ + */ /***************************************************************************** * @@ -53,31 +55,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 *unused) +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 */