The function test_issubvolume() provides the same check, and has better logic.
Signed-off-by: Anand Jain <anand.j...@oracle.com> --- 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html