LCOV - code coverage report
Current view: top level - fs/btrfs - orphan.c (source / functions) Hit Total Coverage
Test: fstests of 6.5.0-rc4-xfsa @ Mon Jul 31 20:08:27 PDT 2023 Lines: 0 31 0.0 %
Date: 2023-07-31 20:08:27 Functions: 0 2 0.0 %

          Line data    Source code
       1             : // SPDX-License-Identifier: GPL-2.0
       2             : /*
       3             :  * Copyright (C) 2008 Red Hat.  All rights reserved.
       4             :  */
       5             : 
       6             : #include "ctree.h"
       7             : #include "disk-io.h"
       8             : #include "orphan.h"
       9             : 
      10           0 : int btrfs_insert_orphan_item(struct btrfs_trans_handle *trans,
      11             :                              struct btrfs_root *root, u64 offset)
      12             : {
      13           0 :         struct btrfs_path *path;
      14           0 :         struct btrfs_key key;
      15           0 :         int ret = 0;
      16             : 
      17           0 :         key.objectid = BTRFS_ORPHAN_OBJECTID;
      18           0 :         key.type = BTRFS_ORPHAN_ITEM_KEY;
      19           0 :         key.offset = offset;
      20             : 
      21           0 :         path = btrfs_alloc_path();
      22           0 :         if (!path)
      23             :                 return -ENOMEM;
      24             : 
      25           0 :         ret = btrfs_insert_empty_item(trans, root, path, &key, 0);
      26             : 
      27           0 :         btrfs_free_path(path);
      28           0 :         return ret;
      29             : }
      30             : 
      31           0 : int btrfs_del_orphan_item(struct btrfs_trans_handle *trans,
      32             :                           struct btrfs_root *root, u64 offset)
      33             : {
      34           0 :         struct btrfs_path *path;
      35           0 :         struct btrfs_key key;
      36           0 :         int ret = 0;
      37             : 
      38           0 :         key.objectid = BTRFS_ORPHAN_OBJECTID;
      39           0 :         key.type = BTRFS_ORPHAN_ITEM_KEY;
      40           0 :         key.offset = offset;
      41             : 
      42           0 :         path = btrfs_alloc_path();
      43           0 :         if (!path)
      44             :                 return -ENOMEM;
      45             : 
      46           0 :         ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
      47           0 :         if (ret < 0)
      48           0 :                 goto out;
      49           0 :         if (ret) { /* JDM: Really? */
      50           0 :                 ret = -ENOENT;
      51           0 :                 goto out;
      52             :         }
      53             : 
      54           0 :         ret = btrfs_del_item(trans, root, path);
      55             : 
      56           0 : out:
      57           0 :         btrfs_free_path(path);
      58           0 :         return ret;
      59             : }

Generated by: LCOV version 1.14