linux/drivers/staging/lustre/lustre/include/lustre_mdt.h
<<
>>
Prefs
   1/*
   2 * GPL HEADER START
   3 *
   4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 only,
   8 * as published by the Free Software Foundation.
   9 *
  10 * This program is distributed in the hope that it will be useful, but
  11 * WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13 * General Public License version 2 for more details (a copy is included
  14 * in the LICENSE file that accompanied this code).
  15 *
  16 * You should have received a copy of the GNU General Public License
  17 * version 2 along with this program; If not, see
  18 * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
  19 *
  20 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  21 * CA 95054 USA or visit www.sun.com if you need additional information or
  22 * have any questions.
  23 *
  24 * GPL HEADER END
  25 */
  26/*
  27 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  28 * Use is subject to license terms.
  29 */
  30/*
  31 * This file is part of Lustre, http://www.lustre.org/
  32 * Lustre is a trademark of Sun Microsystems, Inc.
  33 */
  34
  35#ifndef __LINUX_MDT_H
  36#define __LINUX_MDT_H
  37
  38/** \defgroup mdt mdt
  39 *
  40 * @{
  41 */
  42
  43#include <lustre/lustre_idl.h>
  44#include <lustre_req_layout.h>
  45#include <md_object.h>
  46#include <dt_object.h>
  47#include <linux/libcfs/libcfs.h>
  48
  49/*
  50 * Common thread info for mdt, seq and fld
  51 */
  52struct com_thread_info {
  53        /*
  54         * for req-layout interface.
  55         */
  56        struct req_capsule *cti_pill;
  57};
  58
  59enum {
  60        ESERIOUS = 0x0001000
  61};
  62
  63static inline int err_serious(int rc)
  64{
  65        LASSERT(rc < 0);
  66        LASSERT(-rc < ESERIOUS);
  67        return -(-rc | ESERIOUS);
  68}
  69
  70static inline int clear_serious(int rc)
  71{
  72        if (rc < 0)
  73                rc = -(-rc & ~ESERIOUS);
  74        return rc;
  75}
  76
  77static inline int is_serious(int rc)
  78{
  79        return (rc < 0 && -rc & ESERIOUS);
  80}
  81
  82/** @} mdt */
  83
  84#endif
  85