The function test_issubvolume() provides the same check, and
has better logic.
Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx>
---
utils.c | 21 +--------------------
1 file changed, 1 insertion(+), 20 deletions(-)
diff --git a/utils.c b/utils.c
index 046ddf8eef19..110a4badb764 100644
--- a/utils.c
+++ b/utils.c
@@ -1864,25 +1864,6 @@ int set_label(const char *btrfs_dev, const char *label)
}
/*
- * Unsafe subvolume check.
- *
- * This only checks ino == BTRFS_FIRST_FREE_OBJECTID, even it is not in a
- * btrfs mount point.
- * Must use together with other reliable method like btrfs ioctl.
- */
-static int __is_subvol(const char *path)
-{
- struct stat st;
- int ret;
-
- ret = lstat(path, &st);
- if (ret < 0)
- return ret;
-
- return st.st_ino == BTRFS_FIRST_FREE_OBJECTID;
-}
-
-/*
* A not-so-good version fls64. No fascinating optimization since
* no one except parse_size use it
*/
@@ -2002,7 +1983,7 @@ u64 parse_qgroupid(const char *p)
path:
/* Path format like subv at 'my_subvol' is the fallback case */
- ret = __is_subvol(p);
+ ret = test_issubvolume(p);
if (ret < 0 || !ret)
goto err;
fd = open(p, O_RDONLY);
--
2.7.0
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html