@@ -111,7 +111,7 @@ static int match_context(const void *v, struct file *file, unsigned fd)
|
||||
struct spu_context *ctx;
|
||||
if (file->f_op != &spufs_context_fops)
|
||||
return 0;
|
||||
ctx = SPUFS_I(file->f_dentry->d_inode)->i_ctx;
|
||||
ctx = SPUFS_I(file_inode(file))->i_ctx;
|
||||
if (ctx->flags & SPU_CREATE_NOSCHED)
|
||||
return 0;
|
||||
return fd + 1;
|
||||
@@ -137,7 +137,7 @@ static struct spu_context *coredump_next_context(int *fd)
|
||||
return NULL;
|
||||
*fd = n - 1;
|
||||
file = fcheck(*fd);
|
||||
return SPUFS_I(file->f_dentry->d_inode)->i_ctx;
|
||||
return SPUFS_I(file_inode(file))->i_ctx;
|
||||
}
|
||||
|
||||
int spufs_coredump_extra_notes_size(void)
|
||||
|
@@ -1852,7 +1852,7 @@ out:
|
||||
|
||||
static int spufs_mfc_fsync(struct file *file, loff_t start, loff_t end, int datasync)
|
||||
{
|
||||
struct inode *inode = file->f_path.dentry->d_inode;
|
||||
struct inode *inode = file_inode(file);
|
||||
int err = filemap_write_and_wait_range(inode->i_mapping, start, end);
|
||||
if (!err) {
|
||||
mutex_lock(&inode->i_mutex);
|
||||
@@ -2501,7 +2501,7 @@ static int switch_log_sprint(struct spu_context *ctx, char *tbuf, int n)
|
||||
static ssize_t spufs_switch_log_read(struct file *file, char __user *buf,
|
||||
size_t len, loff_t *ppos)
|
||||
{
|
||||
struct inode *inode = file->f_path.dentry->d_inode;
|
||||
struct inode *inode = file_inode(file);
|
||||
struct spu_context *ctx = SPUFS_I(inode)->i_ctx;
|
||||
int error = 0, cnt = 0;
|
||||
|
||||
@@ -2571,7 +2571,7 @@ static ssize_t spufs_switch_log_read(struct file *file, char __user *buf,
|
||||
|
||||
static unsigned int spufs_switch_log_poll(struct file *file, poll_table *wait)
|
||||
{
|
||||
struct inode *inode = file->f_path.dentry->d_inode;
|
||||
struct inode *inode = file_inode(file);
|
||||
struct spu_context *ctx = SPUFS_I(inode)->i_ctx;
|
||||
unsigned int mask = 0;
|
||||
int rc;
|
||||
|
@@ -368,7 +368,7 @@ spufs_assert_affinity(unsigned int flags, struct spu_gang *gang,
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
neighbor = get_spu_context(
|
||||
SPUFS_I(filp->f_dentry->d_inode)->i_ctx);
|
||||
SPUFS_I(file_inode(filp))->i_ctx);
|
||||
|
||||
if (!list_empty(&neighbor->aff_list) && !(neighbor->aff_head) &&
|
||||
!list_is_last(&neighbor->aff_list, &gang->aff_list_head) &&
|
||||
|
@@ -47,7 +47,7 @@ static long do_spu_run(struct file *filp,
|
||||
if (filp->f_op != &spufs_context_fops)
|
||||
goto out;
|
||||
|
||||
i = SPUFS_I(filp->f_path.dentry->d_inode);
|
||||
i = SPUFS_I(file_inode(filp));
|
||||
ret = spufs_run_spu(i->i_ctx, &npc, &status);
|
||||
|
||||
if (put_user(npc, unpc))
|
||||
|
@@ -86,7 +86,7 @@ static int hcall_inst_seq_open(struct inode *inode, struct file *file)
|
||||
|
||||
rc = seq_open(file, &hcall_inst_seq_ops);
|
||||
seq = file->private_data;
|
||||
seq->private = file->f_path.dentry->d_inode->i_private;
|
||||
seq->private = file_inode(file)->i_private;
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@@ -46,16 +46,12 @@ static struct proc_dir_entry *proc_ppc64_scan_log_dump; /* The proc file */
|
||||
static ssize_t scanlog_read(struct file *file, char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
struct inode * inode = file->f_path.dentry->d_inode;
|
||||
struct proc_dir_entry *dp;
|
||||
unsigned int *data;
|
||||
struct proc_dir_entry *dp = PDE(file_inode(file));
|
||||
unsigned int *data = (unsigned int *)dp->data;
|
||||
int status;
|
||||
unsigned long len, off;
|
||||
unsigned int wait_time;
|
||||
|
||||
dp = PDE(inode);
|
||||
data = (unsigned int *)dp->data;
|
||||
|
||||
if (count > RTAS_DATA_BUF_SIZE)
|
||||
count = RTAS_DATA_BUF_SIZE;
|
||||
|
||||
|
新增問題並參考
封鎖使用者