diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-04-28 00:36:39 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-04-28 00:36:39 -0400 |
| commit | d35cc56ddfc948d8df1aa6d41ac345fcec01854d (patch) | |
| tree | 7e23a0e3dde639236e019aa88309d919941958e5 /fs/kernfs | |
| parent | 86d56134f1b67d0c18025ba5cade95c048ed528d (diff) | |
| parent | d1db0eea852497762cab43b905b879dfcd3b8987 (diff) | |
Merge 3.15-rc3 into staging-next
Diffstat (limited to 'fs/kernfs')
| -rw-r--r-- | fs/kernfs/dir.c | 9 | ||||
| -rw-r--r-- | fs/kernfs/file.c | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c index 43aa97988c31..a693f5b01ae6 100644 --- a/fs/kernfs/dir.c +++ b/fs/kernfs/dir.c | |||
| @@ -232,9 +232,6 @@ static int kernfs_link_sibling(struct kernfs_node *kn) | |||
| 232 | struct rb_node **node = &kn->parent->dir.children.rb_node; | 232 | struct rb_node **node = &kn->parent->dir.children.rb_node; |
| 233 | struct rb_node *parent = NULL; | 233 | struct rb_node *parent = NULL; |
| 234 | 234 | ||
| 235 | if (kernfs_type(kn) == KERNFS_DIR) | ||
| 236 | kn->parent->dir.subdirs++; | ||
| 237 | |||
| 238 | while (*node) { | 235 | while (*node) { |
| 239 | struct kernfs_node *pos; | 236 | struct kernfs_node *pos; |
| 240 | int result; | 237 | int result; |
| @@ -249,9 +246,15 @@ static int kernfs_link_sibling(struct kernfs_node *kn) | |||
| 249 | else | 246 | else |
| 250 | return -EEXIST; | 247 | return -EEXIST; |
| 251 | } | 248 | } |
| 249 | |||
| 252 | /* add new node and rebalance the tree */ | 250 | /* add new node and rebalance the tree */ |
| 253 | rb_link_node(&kn->rb, parent, node); | 251 | rb_link_node(&kn->rb, parent, node); |
| 254 | rb_insert_color(&kn->rb, &kn->parent->dir.children); | 252 | rb_insert_color(&kn->rb, &kn->parent->dir.children); |
| 253 | |||
| 254 | /* successfully added, account subdir number */ | ||
| 255 | if (kernfs_type(kn) == KERNFS_DIR) | ||
| 256 | kn->parent->dir.subdirs++; | ||
| 257 | |||
| 255 | return 0; | 258 | return 0; |
| 256 | } | 259 | } |
| 257 | 260 | ||
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index 98bacd9ea7fd..40251cd741a0 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c | |||
| @@ -485,6 +485,8 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) | |||
| 485 | 485 | ||
| 486 | ops = kernfs_ops(of->kn); | 486 | ops = kernfs_ops(of->kn); |
| 487 | rc = ops->mmap(of, vma); | 487 | rc = ops->mmap(of, vma); |
| 488 | if (rc) | ||
| 489 | goto out_put; | ||
| 488 | 490 | ||
| 489 | /* | 491 | /* |
| 490 | * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() | 492 | * PowerPC's pci_mmap of legacy_mem uses shmem_zero_setup() |
