From: Karel Zak Date: Fri, 30 Jun 2017 09:24:36 +0000 (+0200) Subject: libfdisk: move fdisk_reread_partition_table() to another file X-Git-Tag: v2.31-rc1~208 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a1889b03ba2f1b8de456c5f59d5a5722b83b295;p=thirdparty%2Futil-linux.git libfdisk: move fdisk_reread_partition_table() to another file Signed-off-by: Karel Zak --- diff --git a/libfdisk/docs/libfdisk-sections.txt b/libfdisk/docs/libfdisk-sections.txt index 767089a71c..7f9b5e51b8 100644 --- a/libfdisk/docs/libfdisk-sections.txt +++ b/libfdisk/docs/libfdisk-sections.txt @@ -66,7 +66,6 @@ fdisk_align_lba_in_range fdisk_has_user_device_properties fdisk_lba_is_phy_aligned fdisk_override_geometry -fdisk_reread_partition_table fdisk_reset_alignment fdisk_reset_device_properties fdisk_save_user_geometry @@ -325,6 +324,7 @@ fdisk_new_context fdisk_new_nested_context FDISK_PLURAL fdisk_ref_context +fdisk_reread_partition_table fdisk_set_first_lba fdisk_set_last_lba fdisk_set_size_unit diff --git a/libfdisk/src/alignment.c b/libfdisk/src/alignment.c index e8393d9f28..6b395b48cd 100644 --- a/libfdisk/src/alignment.c +++ b/libfdisk/src/alignment.c @@ -674,43 +674,3 @@ fdisk_sector_t fdisk_cround(struct fdisk_context *cxt, fdisk_sector_t num) (num / fdisk_get_units_per_sector(cxt)) + 1 : num; } -/** - * fdisk_reread_partition_table: - * @cxt: context - * - * Force *kernel* to re-read partition table on block devices. - * - * Returns: 0 on success, < 0 in case of error. - */ -int fdisk_reread_partition_table(struct fdisk_context *cxt) -{ - int i; - struct stat statbuf; - - assert(cxt); - assert(cxt->dev_fd >= 0); - - i = fstat(cxt->dev_fd, &statbuf); - if (i == 0 && S_ISBLK(statbuf.st_mode)) { - DBG(CXT, ul_debugobj(cxt, "calling re-read ioctl")); - sync(); -#ifdef BLKRRPART - fdisk_info(cxt, _("Calling ioctl() to re-read partition table.")); - i = ioctl(cxt->dev_fd, BLKRRPART); -#else - errno = ENOSYS; - i = 1; -#endif - } - - if (i) { - fdisk_warn(cxt, _("Re-reading the partition table failed.")); - fdisk_info(cxt, _( - "The kernel still uses the old table. The " - "new table will be used at the next reboot " - "or after you run partprobe(8) or kpartx(8).")); - return -errno; - } - - return 0; -} diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 666ebbba05..9d5492be73 100644 --- a/libfdisk/src/context.c +++ b/libfdisk/src/context.c @@ -691,6 +691,47 @@ int fdisk_reassign_device(struct fdisk_context *cxt) return rc; } +/** + * fdisk_reread_partition_table: + * @cxt: context + * + * Force *kernel* to re-read partition table on block devices. + * + * Returns: 0 on success, < 0 in case of error. + */ +int fdisk_reread_partition_table(struct fdisk_context *cxt) +{ + int i; + struct stat statbuf; + + assert(cxt); + assert(cxt->dev_fd >= 0); + + i = fstat(cxt->dev_fd, &statbuf); + if (i == 0 && S_ISBLK(statbuf.st_mode)) { + DBG(CXT, ul_debugobj(cxt, "calling re-read ioctl")); + sync(); +#ifdef BLKRRPART + fdisk_info(cxt, _("Calling ioctl() to re-read partition table.")); + i = ioctl(cxt->dev_fd, BLKRRPART); +#else + errno = ENOSYS; + i = 1; +#endif + } + + if (i) { + fdisk_warn(cxt, _("Re-reading the partition table failed.")); + fdisk_info(cxt, _( + "The kernel still uses the old table. The " + "new table will be used at the next reboot " + "or after you run partprobe(8) or kpartx(8).")); + return -errno; + } + + return 0; +} + /** * fdisk_is_readonly: * @cxt: context