summaryrefslogtreecommitdiffhomepage
path: root/util-linux
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-07-14 19:03:14 +0000
committerEric Andersen <andersen@codepoet.org>2003-07-14 19:03:14 +0000
commit341170b0124f50eb2030fe3c4b841cc57e190663 (patch)
treeda68354bb2864300b34781fa6ca01a67a5aad48a /util-linux
parentfeb283a437c94ce32effb4fafc3a3291ad804275 (diff)
Remove all the llseek junk and just use regular old lseek. When DOLFS is
enabled, regular lseek is transparently promoted to lseek64 anyways, rendering the llseek stuff pointless. -Erik
Diffstat (limited to 'util-linux')
-rw-r--r--util-linux/fdisk.c116
1 files changed, 6 insertions, 110 deletions
diff --git a/util-linux/fdisk.c b/util-linux/fdisk.c
index 11da77179..291be4b9b 100644
--- a/util-linux/fdisk.c
+++ b/util-linux/fdisk.c
@@ -838,110 +838,6 @@ typedef struct {
#define SUN_SSWAP32(x) (sun_other_endian ? __swap32(x) \
: (uint32_t)(x))
-/*
- * llseek.c -- stub calling the llseek system call
- *
- * Copyright (C) 1994 Remy Card. This file may be redistributed
- * under the terms of the GNU Public License.
- */
-
-
-#ifdef __linux__
-
-#ifdef HAVE_LLSEEK
-#include <syscall.h>
-
-#else /* HAVE_LLSEEK */
-
-#if defined(__alpha__) || defined(__ia64__)
-
-#define my_llseek lseek
-
-#else
-#include <asm/unistd.h> /* for __NR__llseek */
-
-static int _llseek (unsigned int, unsigned long,
- unsigned long, ext2_loff_t *, unsigned int);
-
-#ifdef __NR__llseek
-
-static _syscall5(int,_llseek,unsigned int,f_d,unsigned long,offset_high,
- unsigned long, offset_low,ext2_loff_t *,result,
- unsigned int, origin)
-
-#else
-
-/* no __NR__llseek on compilation machine - might give it explicitly */
-static int _llseek (unsigned int f_d, unsigned long oh,
- unsigned long ol, ext2_loff_t *result,
- unsigned int origin) {
- errno = ENOSYS;
- return -1;
-}
-
-#endif
-
-static ext2_loff_t my_llseek (unsigned int f_d, ext2_loff_t offset,
- unsigned int origin)
-{
- ext2_loff_t result;
- int retval;
-
- retval = _llseek (f_d, ((unsigned long long) offset) >> 32,
- ((unsigned long long) offset) & 0xffffffff,
- &result, origin);
- return (retval == -1 ? (ext2_loff_t) retval : result);
-}
-
-#endif /* __alpha__ */
-
-#endif /* HAVE_LLSEEK */
-
-static ext2_loff_t ext2_llseek (unsigned int f_d, ext2_loff_t offset,
- unsigned int origin)
-{
- ext2_loff_t result;
- static int do_compat = 0;
-
- if (!do_compat) {
- result = my_llseek (f_d, offset, origin);
- if (!(result == -1 && errno == ENOSYS))
- return result;
-
- /*
- * Just in case this code runs on top of an old kernel
- * which does not support the llseek system call
- */
- do_compat = 1;
- /*
- * Now try ordinary lseek.
- */
- }
-
- if ((sizeof(off_t) >= sizeof(ext2_loff_t)) ||
- (offset < ((ext2_loff_t) 1 << ((sizeof(off_t)*8) -1))))
- return lseek(f_d, (off_t) offset, origin);
-
- errno = EINVAL;
- return -1;
-}
-
-#else /* !linux */
-
-static ext2_loff_t ext2_llseek (unsigned int f_d, ext2_loff_t offset,
- unsigned int origin)
-{
- if ((sizeof(off_t) < sizeof(ext2_loff_t)) &&
- (offset >= ((ext2_loff_t) 1 << ((sizeof(off_t)*8) -1)))) {
- errno = EINVAL;
- return -1;
- }
- return lseek (f_d, (off_t) offset, origin);
-}
-
-#endif /* linux */
-
-
#ifdef CONFIG_FEATURE_OSF_LABEL
/*
Changes:
@@ -1466,7 +1362,7 @@ xbsd_write_bootstrap (void)
sector = get_start_sect(xbsd_part);
#endif
- if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
+ if (lseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
fdisk_fatal (unable_to_seek);
if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
fdisk_fatal (unable_to_write);
@@ -1634,7 +1530,7 @@ xbsd_readlabel (struct partition *p, struct xbsd_disklabel *d)
sector = 0;
#endif
- if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
+ if (lseek (fd, (ext2_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
fdisk_fatal (unable_to_seek);
if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
fdisk_fatal (unable_to_read);
@@ -1680,12 +1576,12 @@ xbsd_writelabel (struct partition *p, struct xbsd_disklabel *d)
#if defined (__alpha__) && BSD_LABELSECTOR == 0
alpha_bootblock_checksum (disklabelbuffer);
- if (ext2_llseek (fd, (ext2_loff_t) 0, SEEK_SET) == -1)
+ if (lseek (fd, (ext2_loff_t) 0, SEEK_SET) == -1)
fdisk_fatal (unable_to_seek);
if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
fdisk_fatal (unable_to_write);
#else
- if (ext2_llseek (fd, (ext2_loff_t) sector * SECTOR_SIZE + BSD_LABELOFFSET,
+ if (lseek (fd, (ext2_loff_t) sector * SECTOR_SIZE + BSD_LABELOFFSET,
SEEK_SET) == -1)
fdisk_fatal (unable_to_seek);
if (sizeof (struct xbsd_disklabel) != write (fd, d, sizeof (struct xbsd_disklabel)))
@@ -2120,7 +2016,7 @@ sgi_write_table(void)
*/
sgiinfo*info = fill_sgiinfo(); /* fills the block appropriately */
int infostartblock = SGI_SSWAP32( sgilabel->directory[0].vol_file_start );
- if( ext2_llseek(fd, (ext2_loff_t)infostartblock*
+ if( lseek(fd, (ext2_loff_t)infostartblock*
SECTOR_SIZE, SEEK_SET) < 0 )
fdisk_fatal(unable_to_seek);
if( write(fd, info, SECTOR_SIZE) != SECTOR_SIZE )
@@ -3517,7 +3413,7 @@ static void fdisk_fatal(enum failure why) {
static void
seek_sector(uint secno) {
ext2_loff_t offset = (ext2_loff_t) secno * sector_size;
- if (ext2_llseek(fd, offset, SEEK_SET) == (ext2_loff_t) -1)
+ if (lseek(fd, offset, SEEK_SET) == (ext2_loff_t) -1)
fdisk_fatal(unable_to_seek);
}