From: Chris Mason <chris.mason@oracle.com>
Date: Thu, 13 Dec 2007 14:06:01 +0000 (-0500)
Subject: Btrfs: Add backrefs for symbolic link inodes
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=76fea00a0522185658b733d441d6ec049344456b;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git

Btrfs: Add backrefs for symbolic link inodes

Signed-off-by: Chris Mason <chris.mason@oracle.com>
---

diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index cefe740b6c79..06d92be16805 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -404,16 +404,14 @@ static int btrfs_unlink_trans(struct btrfs_trans_handle *trans,
 	ret = btrfs_delete_one_dir_name(trans, root, path, di);
 
 	dentry->d_inode->i_ctime = dir->i_ctime;
-	if (!S_ISLNK(dentry->d_inode->i_mode)) {
-		ret = btrfs_del_inode_ref(trans, root, name, name_len,
-					  dentry->d_inode->i_ino,
-					  dentry->d_parent->d_inode->i_ino);
-		if (ret) {
-			printk("failed to delete reference to %.*s, "
-			       "inode %lu parent %lu\n", name_len, name,
-			       dentry->d_inode->i_ino,
-			       dentry->d_parent->d_inode->i_ino);
-		}
+	ret = btrfs_del_inode_ref(trans, root, name, name_len,
+				  dentry->d_inode->i_ino,
+				  dentry->d_parent->d_inode->i_ino);
+	if (ret) {
+		printk("failed to delete reference to %.*s, "
+		       "inode %lu parent %lu\n", name_len, name,
+		       dentry->d_inode->i_ino,
+		       dentry->d_parent->d_inode->i_ino);
 	}
 err:
 	btrfs_free_path(path);
@@ -1293,13 +1291,11 @@ static int btrfs_add_link(struct btrfs_trans_handle *trans,
 				    dentry->d_parent->d_inode->i_ino,
 				    &key, btrfs_inode_type(inode));
 	if (ret == 0) {
-		if (!S_ISLNK(inode->i_mode)) {
-			ret = btrfs_insert_inode_ref(trans, root,
-					     dentry->d_name.name,
-					     dentry->d_name.len,
-					     inode->i_ino,
-					     dentry->d_parent->d_inode->i_ino);
-		}
+		ret = btrfs_insert_inode_ref(trans, root,
+				     dentry->d_name.name,
+				     dentry->d_name.len,
+				     inode->i_ino,
+				     dentry->d_parent->d_inode->i_ino);
 		parent_inode = dentry->d_parent->d_inode;
 		parent_inode->i_size += dentry->d_name.len * 2;
 		parent_inode->i_mtime = parent_inode->i_ctime = CURRENT_TIME;