mirror of https://gitee.com/openkylin/linux.git
[PATCH] struct path: convert ipc
Signed-off-by: Josef Sipek <jsipek@fsl.cs.sunysb.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
1cfd6e648b
commit
6d63079add
16
ipc/mqueue.c
16
ipc/mqueue.c
|
@ -322,7 +322,7 @@ static int mqueue_unlink(struct inode *dir, struct dentry *dentry)
|
|||
static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
|
||||
size_t count, loff_t * off)
|
||||
{
|
||||
struct mqueue_inode_info *info = MQUEUE_I(filp->f_dentry->d_inode);
|
||||
struct mqueue_inode_info *info = MQUEUE_I(filp->f_path.dentry->d_inode);
|
||||
char buffer[FILENT_SIZE];
|
||||
size_t slen;
|
||||
loff_t o;
|
||||
|
@ -354,13 +354,13 @@ static ssize_t mqueue_read_file(struct file *filp, char __user *u_data,
|
|||
return -EFAULT;
|
||||
|
||||
*off = o + count;
|
||||
filp->f_dentry->d_inode->i_atime = filp->f_dentry->d_inode->i_ctime = CURRENT_TIME;
|
||||
filp->f_path.dentry->d_inode->i_atime = filp->f_path.dentry->d_inode->i_ctime = CURRENT_TIME;
|
||||
return count;
|
||||
}
|
||||
|
||||
static int mqueue_flush_file(struct file *filp, fl_owner_t id)
|
||||
{
|
||||
struct mqueue_inode_info *info = MQUEUE_I(filp->f_dentry->d_inode);
|
||||
struct mqueue_inode_info *info = MQUEUE_I(filp->f_path.dentry->d_inode);
|
||||
|
||||
spin_lock(&info->lock);
|
||||
if (task_tgid(current) == info->notify_owner)
|
||||
|
@ -372,7 +372,7 @@ static int mqueue_flush_file(struct file *filp, fl_owner_t id)
|
|||
|
||||
static unsigned int mqueue_poll_file(struct file *filp, struct poll_table_struct *poll_tab)
|
||||
{
|
||||
struct mqueue_inode_info *info = MQUEUE_I(filp->f_dentry->d_inode);
|
||||
struct mqueue_inode_info *info = MQUEUE_I(filp->f_path.dentry->d_inode);
|
||||
int retval = 0;
|
||||
|
||||
poll_wait(filp, &info->wait_q, poll_tab);
|
||||
|
@ -836,7 +836,7 @@ asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr,
|
|||
if (unlikely(!filp))
|
||||
goto out;
|
||||
|
||||
inode = filp->f_dentry->d_inode;
|
||||
inode = filp->f_path.dentry->d_inode;
|
||||
if (unlikely(filp->f_op != &mqueue_file_operations))
|
||||
goto out_fput;
|
||||
info = MQUEUE_I(inode);
|
||||
|
@ -919,7 +919,7 @@ asmlinkage ssize_t sys_mq_timedreceive(mqd_t mqdes, char __user *u_msg_ptr,
|
|||
if (unlikely(!filp))
|
||||
goto out;
|
||||
|
||||
inode = filp->f_dentry->d_inode;
|
||||
inode = filp->f_path.dentry->d_inode;
|
||||
if (unlikely(filp->f_op != &mqueue_file_operations))
|
||||
goto out_fput;
|
||||
info = MQUEUE_I(inode);
|
||||
|
@ -1056,7 +1056,7 @@ asmlinkage long sys_mq_notify(mqd_t mqdes,
|
|||
if (!filp)
|
||||
goto out;
|
||||
|
||||
inode = filp->f_dentry->d_inode;
|
||||
inode = filp->f_path.dentry->d_inode;
|
||||
if (unlikely(filp->f_op != &mqueue_file_operations))
|
||||
goto out_fput;
|
||||
info = MQUEUE_I(inode);
|
||||
|
@ -1126,7 +1126,7 @@ asmlinkage long sys_mq_getsetattr(mqd_t mqdes,
|
|||
if (!filp)
|
||||
goto out;
|
||||
|
||||
inode = filp->f_dentry->d_inode;
|
||||
inode = filp->f_path.dentry->d_inode;
|
||||
if (unlikely(filp->f_op != &mqueue_file_operations))
|
||||
goto out_fput;
|
||||
info = MQUEUE_I(inode);
|
||||
|
|
16
ipc/shm.c
16
ipc/shm.c
|
@ -168,7 +168,7 @@ static inline void shm_inc(struct ipc_namespace *ns, int id)
|
|||
static void shm_open(struct vm_area_struct *shmd)
|
||||
{
|
||||
shm_inc(shm_file_ns(shmd->vm_file),
|
||||
shmd->vm_file->f_dentry->d_inode->i_ino);
|
||||
shmd->vm_file->f_path.dentry->d_inode->i_ino);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -187,7 +187,7 @@ static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp)
|
|||
if (!is_file_hugepages(shp->shm_file))
|
||||
shmem_lock(shp->shm_file, 0, shp->mlock_user);
|
||||
else
|
||||
user_shm_unlock(shp->shm_file->f_dentry->d_inode->i_size,
|
||||
user_shm_unlock(shp->shm_file->f_path.dentry->d_inode->i_size,
|
||||
shp->mlock_user);
|
||||
fput (shp->shm_file);
|
||||
security_shm_free(shp);
|
||||
|
@ -203,7 +203,7 @@ static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp)
|
|||
static void shm_close (struct vm_area_struct *shmd)
|
||||
{
|
||||
struct file * file = shmd->vm_file;
|
||||
int id = file->f_dentry->d_inode->i_ino;
|
||||
int id = file->f_path.dentry->d_inode->i_ino;
|
||||
struct shmid_kernel *shp;
|
||||
struct ipc_namespace *ns;
|
||||
|
||||
|
@ -233,7 +233,7 @@ static int shm_mmap(struct file * file, struct vm_area_struct * vma)
|
|||
vma->vm_ops = &shm_vm_ops;
|
||||
if (!(vma->vm_flags & VM_WRITE))
|
||||
vma->vm_flags &= ~VM_MAYWRITE;
|
||||
shm_inc(shm_file_ns(file), file->f_dentry->d_inode->i_ino);
|
||||
shm_inc(shm_file_ns(file), file->f_path.dentry->d_inode->i_ino);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -330,7 +330,7 @@ static int newseg (struct ipc_namespace *ns, key_t key, int shmflg, size_t size)
|
|||
shp->shm_nattch = 0;
|
||||
shp->id = shm_buildid(ns, id, shp->shm_perm.seq);
|
||||
shp->shm_file = file;
|
||||
file->f_dentry->d_inode->i_ino = shp->id;
|
||||
file->f_path.dentry->d_inode->i_ino = shp->id;
|
||||
|
||||
shm_file_ns(file) = get_ipc_ns(ns);
|
||||
|
||||
|
@ -495,7 +495,7 @@ static void shm_get_stat(struct ipc_namespace *ns, unsigned long *rss,
|
|||
if(!shp)
|
||||
continue;
|
||||
|
||||
inode = shp->shm_file->f_dentry->d_inode;
|
||||
inode = shp->shm_file->f_path.dentry->d_inode;
|
||||
|
||||
if (is_file_hugepages(shp->shm_file)) {
|
||||
struct address_space *mapping = inode->i_mapping;
|
||||
|
@ -843,7 +843,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
|
|||
}
|
||||
|
||||
file = shp->shm_file;
|
||||
size = i_size_read(file->f_dentry->d_inode);
|
||||
size = i_size_read(file->f_path.dentry->d_inode);
|
||||
shp->shm_nattch++;
|
||||
shm_unlock(shp);
|
||||
|
||||
|
@ -948,7 +948,7 @@ asmlinkage long sys_shmdt(char __user *shmaddr)
|
|||
(vma->vm_start - addr)/PAGE_SIZE == vma->vm_pgoff) {
|
||||
|
||||
|
||||
size = vma->vm_file->f_dentry->d_inode->i_size;
|
||||
size = vma->vm_file->f_path.dentry->d_inode->i_size;
|
||||
do_munmap(mm, vma->vm_start, vma->vm_end - vma->vm_start);
|
||||
/*
|
||||
* We discovered the size of the shm segment, so
|
||||
|
|
Loading…
Reference in New Issue