Whamcloud - gitweb
LU-13783 libcfs: switch from ->mmap_sem to mmap_lock()
[fs/lustre-release.git] / libcfs / include / libcfs / linux / linux-mem.h
index 80668b1..956de36 100644 (file)
@@ -150,4 +150,36 @@ void remove_shrinker(struct shrinker *shrinker)
         kfree(shrinker);
 }
 
+#ifndef HAVE_MMAP_LOCK
+static inline void mmap_write_lock(struct mm_struct *mm)
+{
+       down_write(&mm->mmap_sem);
+}
+
+static inline bool mmap_write_trylock(struct mm_struct *mm)
+{
+       return down_write_trylock(&mm->mmap_sem) != 0;
+}
+
+static inline void mmap_write_unlock(struct mm_struct *mm)
+{
+       up_write(&mm->mmap_sem);
+}
+
+static inline void mmap_read_lock(struct mm_struct *mm)
+{
+       down_read(&mm->mmap_sem);
+}
+
+static inline bool mmap_read_trylock(struct mm_struct *mm)
+{
+       return down_read_trylock(&mm->mmap_sem) != 0;
+}
+
+static inline void mmap_read_unlock(struct mm_struct *mm)
+{
+       up_read(&mm->mmap_sem);
+}
+#endif
+
 #endif /* __LINUX_CFS_MEM_H__ */