Message ID | 1299265890-20517-1-git-send-email-josef@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 69df7c8..7a5bb9e 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -6587,6 +6587,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);