diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-07-16 12:01:42 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-07-16 12:01:42 -0400 |
commit | 8626e4a42675ff9903f7d4fbf14d8ebc11b5926c (patch) | |
tree | c631dfe2854cb1382a5d8f5aa11b071762ddf27d /fs/proc_namespace.c | |
parent | a8d8f02cf0c379693762107afe812b9e52090e39 (diff) | |
parent | 9249e17fe094d853d1ef7475dd559a2cc7e23d42 (diff) |
Merge commit '9249e17fe094d853d1ef7475dd559a2cc7e23d42' into nfs-for-3.6
Resolve conflicts with the VFS atomic open and sget changes.
Conflicts:
fs/nfs/nfs4proc.c
Diffstat (limited to 'fs/proc_namespace.c')
-rw-r--r-- | fs/proc_namespace.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/proc_namespace.c b/fs/proc_namespace.c index 5e289a7cbad1..5fe34c355e85 100644 --- a/fs/proc_namespace.c +++ b/fs/proc_namespace.c | |||
@@ -17,7 +17,7 @@ | |||
17 | 17 | ||
18 | static unsigned mounts_poll(struct file *file, poll_table *wait) | 18 | static unsigned mounts_poll(struct file *file, poll_table *wait) |
19 | { | 19 | { |
20 | struct proc_mounts *p = file->private_data; | 20 | struct proc_mounts *p = proc_mounts(file->private_data); |
21 | struct mnt_namespace *ns = p->ns; | 21 | struct mnt_namespace *ns = p->ns; |
22 | unsigned res = POLLIN | POLLRDNORM; | 22 | unsigned res = POLLIN | POLLRDNORM; |
23 | 23 | ||
@@ -121,7 +121,7 @@ out: | |||
121 | 121 | ||
122 | static int show_mountinfo(struct seq_file *m, struct vfsmount *mnt) | 122 | static int show_mountinfo(struct seq_file *m, struct vfsmount *mnt) |
123 | { | 123 | { |
124 | struct proc_mounts *p = m->private; | 124 | struct proc_mounts *p = proc_mounts(m); |
125 | struct mount *r = real_mount(mnt); | 125 | struct mount *r = real_mount(mnt); |
126 | struct super_block *sb = mnt->mnt_sb; | 126 | struct super_block *sb = mnt->mnt_sb; |
127 | struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; | 127 | struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; |
@@ -268,7 +268,6 @@ static int mounts_open_common(struct inode *inode, struct file *file, | |||
268 | if (ret) | 268 | if (ret) |
269 | goto err_free; | 269 | goto err_free; |
270 | 270 | ||
271 | p->m.private = p; | ||
272 | p->ns = ns; | 271 | p->ns = ns; |
273 | p->root = root; | 272 | p->root = root; |
274 | p->m.poll_event = ns->event; | 273 | p->m.poll_event = ns->event; |
@@ -288,7 +287,7 @@ static int mounts_open_common(struct inode *inode, struct file *file, | |||
288 | 287 | ||
289 | static int mounts_release(struct inode *inode, struct file *file) | 288 | static int mounts_release(struct inode *inode, struct file *file) |
290 | { | 289 | { |
291 | struct proc_mounts *p = file->private_data; | 290 | struct proc_mounts *p = proc_mounts(file->private_data); |
292 | path_put(&p->root); | 291 | path_put(&p->root); |
293 | put_mnt_ns(p->ns); | 292 | put_mnt_ns(p->ns); |
294 | return seq_release(inode, file); | 293 | return seq_release(inode, file); |