linux/drivers/staging/lustre/lustre/ldlm/ldlm_inodebits.c
<<
>>
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) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
  28 * Use is subject to license terms.
  29 *
  30 * Copyright (c) 2011, Intel Corporation.
  31 */
  32/*
  33 * This file is part of Lustre, http://www.lustre.org/
  34 * Lustre is a trademark of Sun Microsystems, Inc.
  35 *
  36 * lustre/ldlm/ldlm_inodebits.c
  37 *
  38 * Author: Peter Braam <braam@clusterfs.com>
  39 * Author: Phil Schwan <phil@clusterfs.com>
  40 */
  41
  42/**
  43 * This file contains implementation of IBITS lock type
  44 *
  45 * IBITS lock type contains a bit mask determining various properties of an
  46 * object. The meanings of specific bits are specific to the caller and are
  47 * opaque to LDLM code.
  48 *
  49 * Locks with intersecting bitmasks and conflicting lock modes (e.g.  LCK_PW)
  50 * are considered conflicting.  See the lock mode compatibility matrix
  51 * in lustre_dlm.h.
  52 */
  53
  54#define DEBUG_SUBSYSTEM S_LDLM
  55
  56#include <lustre_dlm.h>
  57#include <obd_support.h>
  58#include <lustre_lib.h>
  59
  60#include "ldlm_internal.h"
  61
  62
  63void ldlm_ibits_policy_wire_to_local(const ldlm_wire_policy_data_t *wpolicy,
  64                                     ldlm_policy_data_t *lpolicy)
  65{
  66        memset(lpolicy, 0, sizeof(*lpolicy));
  67        lpolicy->l_inodebits.bits = wpolicy->l_inodebits.bits;
  68}
  69
  70void ldlm_ibits_policy_local_to_wire(const ldlm_policy_data_t *lpolicy,
  71                                     ldlm_wire_policy_data_t *wpolicy)
  72{
  73        memset(wpolicy, 0, sizeof(*wpolicy));
  74        wpolicy->l_inodebits.bits = lpolicy->l_inodebits.bits;
  75}
  76