#include <linux/fs.h>
#include <linux/delay.h>
#include <linux/spinlock.h>
-#include <linux/smp_lock.h>
+//#include <linux/smp_lock.h>
+//#include <linux/mutex.h>
#include <linux/mm.h>
#include <linux/pagemap.h>
return retval;
}
+
+DEFINE_MUTEX(fs_mutex);
+
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
long pexor_unlocked_ioctl(struct file *filp,
unsigned int cmd, unsigned long arg)
{
long ret;
- lock_kernel();
+ mutex_lock(&fs_mutex);
+
ret = pexor_ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg);
- unlock_kernel();
+
+ mutex_unlock(&fs_mutex);
return ret;
}