summaryrefslogtreecommitdiffstats
path: root/fdisks/fdisk.h
diff options
context:
space:
mode:
authorDavidlohr Bueso2012-07-23 18:47:42 +0200
committerKarel Zak2012-07-24 09:13:59 +0200
commitfae7b1bcb5eab5c470b15fd8c491f42244210837 (patch)
tree2aba16eca7a0cf274e798e23490a38cb4262f51c /fdisks/fdisk.h
parentfdisk: API: add delete partition to label operations (diff)
downloadkernel-qcow2-util-linux-fae7b1bcb5eab5c470b15fd8c491f42244210837.tar.gz
kernel-qcow2-util-linux-fae7b1bcb5eab5c470b15fd8c491f42244210837.tar.xz
kernel-qcow2-util-linux-fae7b1bcb5eab5c470b15fd8c491f42244210837.zip
fdisk: API: add write to label operations
[kzak@redhat.com: - rename functions - use errno] Signed-off-by: Karel Zak <kzak@redhat.com> Signed-off-by: Davidlohr Bueso <dave@gnu.org>
Diffstat (limited to 'fdisks/fdisk.h')
-rw-r--r--fdisks/fdisk.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/fdisks/fdisk.h b/fdisks/fdisk.h
index 2a04b8372..9ce2c25b0 100644
--- a/fdisks/fdisk.h
+++ b/fdisks/fdisk.h
@@ -137,6 +137,8 @@ struct fdisk_label {
/* probe disk label */
int (*probe)(struct fdisk_context *cxt);
+ /* write in-memory changes to disk */
+ int (*write)(struct fdisk_context *cxt);
/* delete partition */
void (*part_delete)(struct fdisk_context *cxt, int partnum);
};
@@ -163,6 +165,7 @@ extern int fdisk_context_set_user_geometry(struct fdisk_context *cxt,
unsigned int sectors);
extern int fdisk_create_default_disklabel(struct fdisk_context *cxt);
extern int fdisk_delete_partition(struct fdisk_context *cxt, int partnum);
+extern int fdisk_write_disklabel(struct fdisk_context *cxt);
/* prototypes for fdisk.c */
extern char *disk_device, *line_ptr;
@@ -265,13 +268,6 @@ static inline void read_sector(struct fdisk_context *cxt, sector_t secno, unsign
fatal(cxt, unable_to_read);
}
-static inline void write_sector(struct fdisk_context *cxt, sector_t secno, unsigned char *buf)
-{
- seek_sector(cxt, secno);
- if (write(cxt->dev_fd, buf, cxt->sector_size) != (ssize_t) cxt->sector_size)
- fatal(cxt, unable_to_write);
-}
-
static inline sector_t get_start_sect(struct partition *p)
{
return read4_little_endian(p->start4);