Whamcloud - gitweb
LU-808 llite: deny truncate beyond user rlimit
[fs/lustre-release.git] / lustre / include / lustre_lite.h
index f0c6495..6b17d26 100644 (file)
  * GPL HEADER END
  */
 /*
- * Copyright  2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
+ *
+ * Copyright (c) 2011, 2012, Whamcloud, Inc.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
 #ifndef _LL_H
 #define _LL_H
 
+/** \defgroup lite lite
+ *
+ * @{
+ */
+
 #if defined(__linux__)
 #include <linux/lustre_lite.h>
 #elif defined(__APPLE__)
 #include <lustre_mds.h>
 #include <lustre_ha.h>
 
-#ifdef __KERNEL__
-
-/* careful, this is easy to screw up */
-#define PAGE_CACHE_MAXBYTES ((__u64)(~0UL) << CFS_PAGE_SHIFT)
-
-#endif
-
 /* 4UL * 1024 * 1024 */
 #define LL_MAX_BLKSIZE_BITS     (22)
 #define LL_MAX_BLKSIZE          (1UL<<LL_MAX_BLKSIZE_BITS)
@@ -121,11 +121,11 @@ static inline void lustre_build_lock_params(int cmd, unsigned long open_flags,
 struct lustre_client_ocd {
         /*
          * This is conjunction of connect_flags across all imports (LOVs) this
-         * mount is connected to. This field is updated by ll_ocd_update()
+         * mount is connected to. This field is updated by cl_ocd_update()
          * under ->lco_lock.
          */
-        __u64      lco_flags;
-        spinlock_t lco_lock;
+        __u64              lco_flags;
+        cfs_mutex_t        lco_lock;
         struct obd_export *lco_md_exp;
         struct obd_export *lco_dt_exp;
 };
@@ -145,8 +145,15 @@ static inline void ll_dir_chain_fini(struct ll_dir_chain *chain)
 {
 }
 
-static inline unsigned long hash_x_index(unsigned long value)
+static inline unsigned long hash_x_index(__u64 hash, int hash64)
 {
-        return ~0UL - value;
+#ifdef __KERNEL__
+        if (BITS_PER_LONG == 32 && hash64)
+                hash >>= 32;
+#endif
+        return ~0UL - hash;
 }
+
+/** @} lite */
+
 #endif