proc: move rest of /proc/locks to fs/locks.c
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
This commit is contained in:
22
fs/locks.c
22
fs/locks.c
@@ -2078,6 +2078,7 @@ int vfs_cancel_lock(struct file *filp, struct file_lock *fl)
|
|||||||
EXPORT_SYMBOL_GPL(vfs_cancel_lock);
|
EXPORT_SYMBOL_GPL(vfs_cancel_lock);
|
||||||
|
|
||||||
#ifdef CONFIG_PROC_FS
|
#ifdef CONFIG_PROC_FS
|
||||||
|
#include <linux/proc_fs.h>
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
|
|
||||||
static void lock_get_status(struct seq_file *f, struct file_lock *fl,
|
static void lock_get_status(struct seq_file *f, struct file_lock *fl,
|
||||||
@@ -2183,12 +2184,31 @@ static void locks_stop(struct seq_file *f, void *v)
|
|||||||
unlock_kernel();
|
unlock_kernel();
|
||||||
}
|
}
|
||||||
|
|
||||||
struct seq_operations locks_seq_operations = {
|
static const struct seq_operations locks_seq_operations = {
|
||||||
.start = locks_start,
|
.start = locks_start,
|
||||||
.next = locks_next,
|
.next = locks_next,
|
||||||
.stop = locks_stop,
|
.stop = locks_stop,
|
||||||
.show = locks_show,
|
.show = locks_show,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int locks_open(struct inode *inode, struct file *filp)
|
||||||
|
{
|
||||||
|
return seq_open(filp, &locks_seq_operations);
|
||||||
|
}
|
||||||
|
|
||||||
|
static const struct file_operations proc_locks_operations = {
|
||||||
|
.open = locks_open,
|
||||||
|
.read = seq_read,
|
||||||
|
.llseek = seq_lseek,
|
||||||
|
.release = seq_release,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int __init proc_locks_init(void)
|
||||||
|
{
|
||||||
|
proc_create("locks", 0, NULL, &proc_locks_operations);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
module_init(proc_locks_init);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -453,20 +453,6 @@ static const struct file_operations proc_interrupts_operations = {
|
|||||||
.release = seq_release,
|
.release = seq_release,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_FILE_LOCKING
|
|
||||||
static int locks_open(struct inode *inode, struct file *filp)
|
|
||||||
{
|
|
||||||
return seq_open(filp, &locks_seq_operations);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct file_operations proc_locks_operations = {
|
|
||||||
.open = locks_open,
|
|
||||||
.read = seq_read,
|
|
||||||
.llseek = seq_lseek,
|
|
||||||
.release = seq_release,
|
|
||||||
};
|
|
||||||
#endif /* CONFIG_FILE_LOCKING */
|
|
||||||
|
|
||||||
#ifdef CONFIG_PROC_PAGE_MONITOR
|
#ifdef CONFIG_PROC_PAGE_MONITOR
|
||||||
#define KPMSIZE sizeof(u64)
|
#define KPMSIZE sizeof(u64)
|
||||||
#define KPMMASK (KPMSIZE - 1)
|
#define KPMMASK (KPMSIZE - 1)
|
||||||
@@ -605,9 +591,6 @@ void __init proc_misc_init(void)
|
|||||||
proc_symlink("mounts", NULL, "self/mounts");
|
proc_symlink("mounts", NULL, "self/mounts");
|
||||||
|
|
||||||
/* And now for trickier ones */
|
/* And now for trickier ones */
|
||||||
#ifdef CONFIG_FILE_LOCKING
|
|
||||||
proc_create("locks", 0, NULL, &proc_locks_operations);
|
|
||||||
#endif
|
|
||||||
proc_create("devices", 0, NULL, &proc_devinfo_operations);
|
proc_create("devices", 0, NULL, &proc_devinfo_operations);
|
||||||
proc_create("cpuinfo", 0, NULL, &proc_cpuinfo_operations);
|
proc_create("cpuinfo", 0, NULL, &proc_cpuinfo_operations);
|
||||||
#ifdef CONFIG_BLOCK
|
#ifdef CONFIG_BLOCK
|
||||||
|
@@ -1037,7 +1037,6 @@ extern int vfs_setlease(struct file *, long, struct file_lock **);
|
|||||||
extern int lease_modify(struct file_lock **, int);
|
extern int lease_modify(struct file_lock **, int);
|
||||||
extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
|
extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
|
||||||
extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
|
extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
|
||||||
extern struct seq_operations locks_seq_operations;
|
|
||||||
#else /* !CONFIG_FILE_LOCKING */
|
#else /* !CONFIG_FILE_LOCKING */
|
||||||
#define fcntl_getlk(a, b) ({ -EINVAL; })
|
#define fcntl_getlk(a, b) ({ -EINVAL; })
|
||||||
#define fcntl_setlk(a, b, c, d) ({ -EACCES; })
|
#define fcntl_setlk(a, b, c, d) ({ -EACCES; })
|
||||||
|
Reference in New Issue
Block a user