From 09693cc36c69377758a96ab042b2aaa9ff408812 Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Fri, 4 Mar 2011 14:09:46 -0500 Subject: [PATCH] --- yaml --- r: 243148 b: refs/heads/master c: ded5db9de78f963979e1605f859de67626f54693 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/btrfs/inode.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 275428177ba9..3cc432039bca 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 66b4ffd110f9b48b8d8c1319ee446b53b8d073bf +refs/heads/master: ded5db9de78f963979e1605f859de67626f54693 diff --git a/trunk/fs/btrfs/inode.c b/trunk/fs/btrfs/inode.c index 0600265cb9b0..3bd0ff63bf30 100644 --- a/trunk/fs/btrfs/inode.c +++ b/trunk/fs/btrfs/inode.c @@ -6589,6 +6589,12 @@ static int btrfs_truncate(struct inode *inode) ret = btrfs_orphan_del(trans, inode); if (ret) err = ret; + } else if (ret && inode->i_nlink > 0) { + /* + * Failed to do the truncate, remove us from the in memory + * orphan list. + */ + ret = btrfs_orphan_del(NULL, inode); } ret = btrfs_update_inode(trans, root, inode);