@@ -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);
The function test_issubvolume() provides the same check, and has better logic. Signed-off-by: Anand Jain <anand.jain@oracle.com> --- utils.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-)