Fix non-Linux build
Subsystems (2)
PATCH 1/1 Fix non-Linux build
This fixes non-Linux builds, by:
- making sfdisk discard option conditioned by availability of BLKDISCARD
- defining and using blkid_probe_get_buffer only if O_DIRECT is available
- always building src/fs_statmount.c and src/tab_listmount.c, they already contain proper conditions to make them void if support is not available.
Signed-off-by Samuel Thibault <[email protected]>
disk-utils/sfdisk.c +7 -0
@@ -1370,6 +1370,7 @@ static int command_partattrs(struct sfdisk *sf, int argc, char **argv)return write_changes (sf); } +#ifdef BLKDISCARD /* * sfdisk --discard-free <device> */
@@ -1432,6 +1433,12 @@ done:fdisk_unref_table (tb); return rc; } +#else /* BLKDISCARD */ +static int command_discard_free (struct sfdisk *sf,int argc,char **argv) +{ +fdisk_warnx (sf->cxt,_ ("Discard unsupported on your system." )); +} +#endif /* BLKDISCARD */ /* * sfdisk --disk-id <device> [<str>]
libblkid/src/probe.c +2 -0
@@ -791,6 +791,7 @@ const unsigned char *blkid_probe_get_buffer(blkid_probe pr, uint64_t off, uint64return real_off ? bf->data + (real_off - bf->off + bias) : bf->data + bias; } +#ifdef O_DIRECT /* * This is blkid_probe_get_buffer with the read done as an O_DIRECT operation. * Note that @off is offset within probing area, the probing area is defined by
@@ -817,6 +818,7 @@ const unsigned char *blkid_probe_get_buffer_direct(blkid_probe pr, uint64_t off, }return ret; } +#endif /** * blkid_probe_reset_buffers:
libblkid/src/superblocks/ext.c +4 -0
@@ -164,6 +164,7 @@ static struct ext2_super_block *ext_get_super(* then declare a checksum mismatch. */ if (!blkid_probe_verify_csum (pr, csum,le32_to_cpu (es->s_checksum))) { +#ifdef O_DIRECT if (blkid_probe_reset_buffers (pr))return NULL ;
@@ -175,6 +176,9 @@ static struct ext2_super_block *ext_get_super( csum =crc32c (~0 , es, offsetof(struct ext2_super_block , s_checksum));if (!blkid_probe_verify_csum (pr, csum,le32_to_cpu (es->s_checksum)))return NULL ; +#else +return NULL ; +#endif } }if (fc)
libmount/meson.build +2 -2
@@ -24,6 +24,7 @@ lib_mount_sources = ''' src/mountP.h src/cache.c src/fs.c + src/fs_statmount.c src/init.c src/iter.c src/lock.c
@@ -31,6 +32,7 @@ lib_mount_sources = ''' src/optstr.c src/tab.c src/tab_diff.c + src/tab_listmount.c src/tab_parse.c src/tab_update.c src/test.c
@@ -43,8 +45,6 @@ lib_mount_sources = ''' if LINUX lib_mount_sources += ''' - src/fs_statmount.c - src/tab_listmount.c src/hooks.c src/monitor.c src/optlist.c
libmount/src/Makemodule.am +2 -2
@@ -11,6 +11,7 @@ libmount_la_SOURCES = \ libmount/src/mountP.h \ libmount/src/cache.c \ libmount/src/fs.c \ + libmount/src/fs_statmount.c \ libmount/src/init.c \ libmount/src/iter.c \ libmount/src/lock.c \
@@ -19,6 +20,7 @@ libmount_la_SOURCES = \ libmount/src/optstr.c \ libmount/src/tab.c \ libmount/src/tab_diff.c \ + libmount/src/tab_listmount.c \ libmount/src/tab_parse.c \ libmount/src/tab_update.c \ libmount/src/test.c \
@@ -30,8 +32,6 @@ libmount_la_SOURCES += \ libmount/src/context.c \ libmount/src/context_mount.c \ libmount/src/context_umount.c \ - libmount/src/fs_statmount.c \ - libmount/src/tab_listmount.c \ libmount/src/hooks.c \ libmount/src/hook_mount.c \ libmount/src/hook_mount_legacy.c \
Quoted 8 lines · Samuel Thibault
This fixes non-Linux builds, by:
- making sfdisk discard option conditioned by availability of BLKDISCARD
- defining and usingblkid_probe_get_bufferonly ifO_DIRECTis available
- always buildingsrc/fs_statmount.candsrc/tab_listmount.c, they already contain proper conditions to make them void if support is not available.
Applied, thanks!
Karel
Signature · 2 lines
Karel Zak <[email protected]> http://karelzak.blogspot.com