Commit 496e5955 authored by Sage Weil's avatar Sage Weil

ceph: switch from BKL to lock_flocks()

Switch from using the BKL explicitly to the new lock_flocks() interface.
Eventually this will turn into a spinlock.
Signed-off-by: default avatarSage Weil <sage@newdream.net>
parent fca4451a
#include <linux/ceph/ceph_debug.h> #include <linux/ceph/ceph_debug.h>
#include <linux/fs.h>
#include <linux/wait.h> #include <linux/wait.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/smp_lock.h>
#include <linux/debugfs.h> #include <linux/debugfs.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/smp_lock.h>
#include "super.h" #include "super.h"
#include "mds_client.h" #include "mds_client.h"
...@@ -2369,13 +2370,13 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap, ...@@ -2369,13 +2370,13 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap,
ceph_pagelist_set_cursor(pagelist, &trunc_point); ceph_pagelist_set_cursor(pagelist, &trunc_point);
do { do {
lock_kernel(); lock_flocks();
ceph_count_locks(inode, &num_fcntl_locks, ceph_count_locks(inode, &num_fcntl_locks,
&num_flock_locks); &num_flock_locks);
rec.v2.flock_len = (2*sizeof(u32) + rec.v2.flock_len = (2*sizeof(u32) +
(num_fcntl_locks+num_flock_locks) * (num_fcntl_locks+num_flock_locks) *
sizeof(struct ceph_filelock)); sizeof(struct ceph_filelock));
unlock_kernel(); unlock_flocks();
/* pre-alloc pagelist */ /* pre-alloc pagelist */
ceph_pagelist_truncate(pagelist, &trunc_point); ceph_pagelist_truncate(pagelist, &trunc_point);
...@@ -2386,12 +2387,12 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap, ...@@ -2386,12 +2387,12 @@ static int encode_caps_cb(struct inode *inode, struct ceph_cap *cap,
/* encode locks */ /* encode locks */
if (!err) { if (!err) {
lock_kernel(); lock_flocks();
err = ceph_encode_locks(inode, err = ceph_encode_locks(inode,
pagelist, pagelist,
num_fcntl_locks, num_fcntl_locks,
num_flock_locks); num_flock_locks);
unlock_kernel(); unlock_flocks();
} }
} while (err == -ENOSPC); } while (err == -ENOSPC);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment