git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.3
[linux-2.6.git]
/
arch
/
ia64
/
kernel
/
salinfo.c
diff --git
a/arch/ia64/kernel/salinfo.c
b/arch/ia64/kernel/salinfo.c
index
a0420ae
..
500e105
100644
(file)
--- a/
arch/ia64/kernel/salinfo.c
+++ b/
arch/ia64/kernel/salinfo.c
@@
-268,7
+268,7
@@
salinfo_event_open(struct inode *inode, struct file *file)
}
static ssize_t
}
static ssize_t
-salinfo_event_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
+salinfo_event_read(struct file *file, char
__user
*buffer, size_t count, loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
struct proc_dir_entry *entry = PDE(inode);
{
struct inode *inode = file->f_dentry->d_inode;
struct proc_dir_entry *entry = PDE(inode);
@@
-417,11
+417,16
@@
retry:
if (!data->saved_num)
call_on_cpu(cpu, salinfo_log_read_cpu, data);
if (!data->saved_num)
call_on_cpu(cpu, salinfo_log_read_cpu, data);
- data->state = data->log_size ? STATE_LOG_RECORD : STATE_NO_DATA;
+ if (!data->log_size) {
+ data->state = STATE_NO_DATA;
+ clear_bit(cpu, &data->cpu_event);
+ } else {
+ data->state = STATE_LOG_RECORD;
+ }
}
static ssize_t
}
static ssize_t
-salinfo_log_read(struct file *file, char *buffer, size_t count, loff_t *ppos)
+salinfo_log_read(struct file *file, char
__user
*buffer, size_t count, loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
struct proc_dir_entry *entry = PDE(inode);
{
struct inode *inode = file->f_dentry->d_inode;
struct proc_dir_entry *entry = PDE(inode);
@@
-478,7
+483,7
@@
salinfo_log_clear(struct salinfo_data *data, int cpu)
}
static ssize_t
}
static ssize_t
-salinfo_log_write(struct file *file, const char *buffer, size_t count, loff_t *ppos)
+salinfo_log_write(struct file *file, const char
__user
*buffer, size_t count, loff_t *ppos)
{
struct inode *inode = file->f_dentry->d_inode;
struct proc_dir_entry *entry = PDE(inode);
{
struct inode *inode = file->f_dentry->d_inode;
struct proc_dir_entry *entry = PDE(inode);