]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
fstrim: use new ul_path_* API
authorKarel Zak <kzak@redhat.com>
Tue, 29 May 2018 10:53:52 +0000 (12:53 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 21 Jun 2018 11:19:28 +0000 (13:19 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
sys-utils/eject.c

index a19ee8901fa8c96b6f286ad4f7f1ea386d767abb..86090c454d9d223e82283de0b73aeae6602f97ce 100644 (file)
@@ -759,18 +759,20 @@ static char *get_disk_devname(const char *device)
 
 static int umount_partitions(struct eject_control *ctl)
 {
-       struct sysfs_cxt cxt = UL_SYSFSCXT_EMPTY;
+       struct path_cxt *pc = NULL;
        dev_t devno;
        DIR *dir = NULL;
        struct dirent *d;
        int count = 0;
 
-       devno = sysfs_devname_to_devno(ctl->device, NULL);
-       if (sysfs_init(&cxt, devno, NULL) != 0)
+       devno = sysfs_devname_to_devno(ctl->device);
+       if (devno)
+               pc = ul_new_sysfs_path(devno, NULL, NULL);
+       if (!pc)
                return 0;
 
        /* open /sys/block/<wholedisk> */
-       if (!(dir = sysfs_opendir(&cxt, NULL)))
+       if (!(dir = ul_path_opendir(pc, NULL)))
                goto done;
 
        /* scan for partition subdirs */
@@ -778,7 +780,7 @@ static int umount_partitions(struct eject_control *ctl)
                if (!strcmp(d->d_name, ".") || !strcmp(d->d_name, ".."))
                        continue;
 
-               if (sysfs_is_partition_dirent(dir, d, ctl->device)) {
+               if (sysfs_blkdev_is_partition_dirent(dir, d, ctl->device)) {
                        char *mnt = NULL;
                        char *dev = find_device(d->d_name);
 
@@ -796,24 +798,25 @@ static int umount_partitions(struct eject_control *ctl)
 done:
        if (dir)
                closedir(dir);
-       sysfs_deinit(&cxt);
+       ul_unref_path(pc);
 
        return count;
 }
 
 static int is_hotpluggable(const struct eject_control *ctl)
 {
-       struct sysfs_cxt cxt = UL_SYSFSCXT_EMPTY;
+       struct path_cxt *pc = NULL;
        dev_t devno;
        int rc = 0;
 
-       devno = sysfs_devname_to_devno(ctl->device, NULL);
-       if (sysfs_init(&cxt, devno, NULL) != 0)
+       devno = sysfs_devname_to_devno(ctl->device);
+       if (devno)
+               pc = ul_new_sysfs_path(devno, NULL, NULL);
+       if (!pc)
                return 0;
 
-       rc = sysfs_is_hotpluggable(&cxt);
-
-       sysfs_deinit(&cxt);
+       rc = sysfs_blkdev_is_hotpluggable(pc);
+       ul_unref_path(pc);
        return rc;
 }