summaryrefslogtreecommitdiff
path: root/blockdev/linux
diff options
context:
space:
mode:
Diffstat (limited to 'blockdev/linux')
-rw-r--r--blockdev/linux/ext4_filedev.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/blockdev/linux/ext4_filedev.c b/blockdev/linux/ext4_filedev.c
index 14fae75..7355c30 100644
--- a/blockdev/linux/ext4_filedev.c
+++ b/blockdev/linux/ext4_filedev.c
@@ -26,6 +26,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#define _LARGEFILE64_SOURCE
#define _FILE_OFFSET_BITS 64
#include <ext4_config.h>
@@ -70,7 +71,7 @@ static int filedev_open(struct ext4_blockdev *bdev)
/*No buffering at file.*/
setbuf(dev_file, 0);
- if (fseek(dev_file, 0, SEEK_END))
+ if (fseeko(dev_file, 0, SEEK_END))
return EFAULT;
_filedev.ph_bcnt = ftell(dev_file) / _filedev.ph_bsize;
@@ -83,7 +84,7 @@ static int filedev_open(struct ext4_blockdev *bdev)
static int filedev_bread(struct ext4_blockdev *bdev, void *buf, uint64_t blk_id,
uint32_t blk_cnt)
{
- if (fseek(dev_file, blk_id * bdev->ph_bsize, SEEK_SET))
+ if (fseeko(dev_file, blk_id * bdev->ph_bsize, SEEK_SET))
return EIO;
if (!fread(buf, bdev->ph_bsize * blk_cnt, 1, dev_file))
@@ -109,7 +110,7 @@ static void drop_cache(void)
static int filedev_bwrite(struct ext4_blockdev *bdev, const void *buf,
uint64_t blk_id, uint32_t blk_cnt)
{
- if (fseek(dev_file, blk_id * bdev->ph_bsize, SEEK_SET))
+ if (fseeko(dev_file, blk_id * bdev->ph_bsize, SEEK_SET))
return EIO;
if (!fwrite(buf, bdev->ph_bsize * blk_cnt, 1, dev_file))