From 178041848a6e7072cc6ebc1c6c7763e33f564722 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sat, 13 Feb 2016 11:16:37 -0500 Subject: orangefs_bufmap_..._query(): don't bother with refcounts ... just hold the spinlock while fetching the field in question. Signed-off-by: Al Viro Signed-off-by: Mike Marshall --- fs/orangefs/orangefs-bufmap.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'fs/orangefs') diff --git a/fs/orangefs/orangefs-bufmap.c b/fs/orangefs/orangefs-bufmap.c index 1819dee58433..cd484665bf72 100644 --- a/fs/orangefs/orangefs-bufmap.c +++ b/fs/orangefs/orangefs-bufmap.c @@ -91,11 +91,11 @@ int orangefs_bufmap_size_query(void) { struct orangefs_bufmap *bufmap; int size = 0; - bufmap = orangefs_bufmap_ref(); - if (bufmap) { + spin_lock(&orangefs_bufmap_lock); + bufmap = __orangefs_bufmap; + if (bufmap) size = bufmap->desc_size; - orangefs_bufmap_unref(bufmap); - } + spin_unlock(&orangefs_bufmap_lock); return size; } @@ -103,11 +103,11 @@ int orangefs_bufmap_shift_query(void) { struct orangefs_bufmap *bufmap; int shift = 0; - bufmap = orangefs_bufmap_ref(); - if (bufmap) { + spin_lock(&orangefs_bufmap_lock); + bufmap = __orangefs_bufmap; + if (bufmap) shift = bufmap->desc_shift; - orangefs_bufmap_unref(bufmap); - } + spin_unlock(&orangefs_bufmap_lock); return shift; } -- cgit v1.2.3