+int lprocfs_evict_client_open(struct inode *inode, struct file *f)
+{
+ struct proc_dir_entry *dp = PDE(f->f_dentry->d_inode);
+ struct obd_device *obd = dp->data;
+
+ atomic_inc(&obd->obd_evict_inprogress);
+
+ return 0;
+}
+
+int lprocfs_evict_client_release(struct inode *inode, struct file *f)
+{
+ struct proc_dir_entry *dp = PDE(f->f_dentry->d_inode);
+ struct obd_device *obd = dp->data;
+
+ atomic_dec(&obd->obd_evict_inprogress);
+ wake_up(&obd->obd_evict_inprogress_waitq);
+
+ return 0;
+}
+
+struct file_operations lprocfs_evict_client_fops = {
+ .owner = THIS_MODULE,
+ .read = lprocfs_fops_read,
+ .write = lprocfs_fops_write,
+ .open = lprocfs_evict_client_open,
+ .release = lprocfs_evict_client_release,
+};
+EXPORT_SYMBOL(lprocfs_evict_client_fops);
+