From: Ray Bryant <raybry@sgi.com>

Update lockmeter.c with generic_raw_read_trylock fix.

Signed-off-by: Ray Bryant <raybry@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/kernel/lockmeter.c |   12 ++++++++++++
 1 files changed, 12 insertions(+)

diff -puN kernel/lockmeter.c~lockmeter-lockmeter-fix-for-generic_read_trylock kernel/lockmeter.c
--- 25/kernel/lockmeter.c~lockmeter-lockmeter-fix-for-generic_read_trylock	2004-09-16 21:32:25.175963856 -0700
+++ 25-akpm/kernel/lockmeter.c	2004-09-16 21:32:25.180963096 -0700
@@ -1213,6 +1213,18 @@ __read_lock_failed: \
  * except for the fact tht calls to _raw_ routines are replaced by
  * corresponding calls to the _metered_ routines
  */
+
+/*
+ * Generic declaration of the raw read_trylock() function,
+ * architectures are supposed to optimize this:
+ */
+int __lockfunc generic_raw_read_trylock(rwlock_t *lock)
+{
+	_metered_read_lock(lock, __builtin_return_address(0));
+	return 1;
+}
+EXPORT_SYMBOL(generic_raw_read_trylock);
+
 int __lockfunc _spin_trylock(spinlock_t *lock)
 {
 	preempt_disable();
_