Эх сурвалжийг харах

Btrfs: fixup return code for btrfs_del_orphan_item

If the orphan item doesn't exist, we return 1, which doesn't make any sense to
the callers.  Instead return -ENOENT if we didn't find the item.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
Josef Bacik 14 жил өмнө
parent
commit
7e1fea731d

+ 5 - 1
fs/btrfs/orphan.c

@@ -56,8 +56,12 @@ int btrfs_del_orphan_item(struct btrfs_trans_handle *trans,
 		return -ENOMEM;
 		return -ENOMEM;
 
 
 	ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
 	ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
-	if (ret)
+	if (ret < 0)
 		goto out;
 		goto out;
+	if (ret) {
+		ret = -ENOENT;
+		goto out;
+	}
 
 
 	ret = btrfs_del_item(trans, root, path);
 	ret = btrfs_del_item(trans, root, path);