From 58b93302be3b7c7a9187ad989288feb8e47ca53f Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Sat, 14 May 2011 07:10:51 +0000 Subject: [PATCH] --- yaml --- r: 252334 b: refs/heads/master c: b083916638eee513be501f53b42a4be0b9851db0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/btrfs/inode.c | 1 + trunk/fs/btrfs/super.c | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index f6a2a94cbb74..e3c87c3fcb8f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 37daa4f968e9470ae9f30e246a5781717c598271 +refs/heads/master: b083916638eee513be501f53b42a4be0b9851db0 diff --git a/trunk/fs/btrfs/inode.c b/trunk/fs/btrfs/inode.c index e9e2b4778279..80fcd5177731 100644 --- a/trunk/fs/btrfs/inode.c +++ b/trunk/fs/btrfs/inode.c @@ -7314,6 +7314,7 @@ static int btrfs_symlink(struct inode *dir, struct dentry *dentry, datasize); if (err) { drop_inode = 1; + btrfs_free_path(path); goto out_unlock; } leaf = path->nodes[0]; diff --git a/trunk/fs/btrfs/super.c b/trunk/fs/btrfs/super.c index 0ac712efcdf2..46d7eed7e965 100644 --- a/trunk/fs/btrfs/super.c +++ b/trunk/fs/btrfs/super.c @@ -506,8 +506,10 @@ static struct dentry *get_default_root(struct super_block *sb, */ dir_id = btrfs_super_root_dir(&root->fs_info->super_copy); di = btrfs_lookup_dir_item(NULL, root, path, dir_id, "default", 7, 0); - if (IS_ERR(di)) + if (IS_ERR(di)) { + btrfs_free_path(path); return ERR_CAST(di); + } if (!di) { /* * Ok the default dir item isn't there. This is weird since