The fdisk llseek junk was redundant, since both uClibc and glibc

automatically promote lseek and friends to their 64 bit counterparts
when CONFIG_LFS is enabled, since it enables __USE_FILE_OFFSET64
1_00_stable_10817
Eric Andersen 2004-03-30 09:08:58 +00:00
parent 75eb90f288
commit 1236631700
2 changed files with 8 additions and 74 deletions

View File

@ -74,14 +74,13 @@ config CONFIG_FDISK
can be used to list and edit the set of partitions or BSD style can be used to list and edit the set of partitions or BSD style
'disk slices' that are defined on a hard drive. 'disk slices' that are defined on a hard drive.
if !CONFIG_LFS
config FDISK_SUPPORT_LARGE_DISKS config FDISK_SUPPORT_LARGE_DISKS
bool " support over 4GB disks" bool " support over 4GB disks"
default y default y
depends on CONFIG_FDISK depends on CONFIG_FDISK
select CONFIG_LFS
help help
Enable this option to support large disks > 4GB. Enable this option to support large disks > 4GB.
endif
config CONFIG_FEATURE_FDISK_WRITABLE config CONFIG_FEATURE_FDISK_WRITABLE
bool " Write support" bool " Write support"

View File

@ -93,7 +93,7 @@
#endif #endif
#if defined(CONFIG_LFS) || defined(FDISK_SUPPORT_LARGE_DISKS) || defined(__alpha__) || defined(__ia64__) || defined(__s390x__) #if defined(CONFIG_LFS) || defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
typedef long long fdisk_loff_t; typedef long long fdisk_loff_t;
#else #else
typedef long fdisk_loff_t; typedef long fdisk_loff_t;
@ -846,71 +846,6 @@ typedef struct {
#define SUN_SSWAP32(x) (sun_other_endian ? __swap32(x) \ #define SUN_SSWAP32(x) (sun_other_endian ? __swap32(x) \
: (uint32_t)(x)) : (uint32_t)(x))
#if defined(CONFIG_LFS) || defined(FDISK_SUPPORT_LARGE_DISKS)
/*
* 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.
*/
#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
#define my_llseek lseek
#else
#include <syscall.h>
static fdisk_loff_t my_llseek (unsigned int f_d, fdisk_loff_t offset,
unsigned int origin)
{
fdisk_loff_t result;
int retval;
retval = syscall(__NR__llseek, f_d, (unsigned long)(((unsigned long long) offset) >> 32),
(unsigned long)(((unsigned long long) offset) & 0xffffffff),
&result, origin);
return (retval == -1 ? (fdisk_loff_t) retval : result);
}
#endif /* __alpha__ */
static fdisk_loff_t fdisk_llseek (unsigned int f_d, fdisk_loff_t offset,
unsigned int origin)
{
fdisk_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(fdisk_loff_t)) ||
(offset < ((fdisk_loff_t) 1 << ((sizeof(off_t)*8) -1))))
return lseek(f_d, (off_t) offset, origin);
errno = EINVAL;
return -1;
}
#else
# define fdisk_llseek lseek
#endif /* FDISK_SUPPORT_LARGE_DISKS */
#ifdef CONFIG_FEATURE_OSF_LABEL #ifdef CONFIG_FEATURE_OSF_LABEL
/* /*
@ -1437,7 +1372,7 @@ xbsd_write_bootstrap (void)
sector = get_start_sect(xbsd_part); sector = get_start_sect(xbsd_part);
#endif #endif
if (fdisk_llseek (fd, (fdisk_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1) if (lseek (fd, (fdisk_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
fdisk_fatal (unable_to_seek); fdisk_fatal (unable_to_seek);
if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE)) if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
fdisk_fatal (unable_to_write); fdisk_fatal (unable_to_write);
@ -1605,7 +1540,7 @@ xbsd_readlabel (struct partition *p, struct xbsd_disklabel *d)
sector = 0; sector = 0;
#endif #endif
if (fdisk_llseek (fd, (fdisk_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1) if (lseek (fd, (fdisk_loff_t) sector * SECTOR_SIZE, SEEK_SET) == -1)
fdisk_fatal (unable_to_seek); fdisk_fatal (unable_to_seek);
if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE)) if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
fdisk_fatal (unable_to_read); fdisk_fatal (unable_to_read);
@ -1651,12 +1586,12 @@ xbsd_writelabel (struct partition *p, struct xbsd_disklabel *d)
#if defined (__alpha__) && BSD_LABELSECTOR == 0 #if defined (__alpha__) && BSD_LABELSECTOR == 0
alpha_bootblock_checksum (disklabelbuffer); alpha_bootblock_checksum (disklabelbuffer);
if (fdisk_llseek (fd, (fdisk_loff_t) 0, SEEK_SET) == -1) if (lseek (fd, (fdisk_loff_t) 0, SEEK_SET) == -1)
fdisk_fatal (unable_to_seek); fdisk_fatal (unable_to_seek);
if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE)) if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
fdisk_fatal (unable_to_write); fdisk_fatal (unable_to_write);
#else #else
if (fdisk_llseek (fd, (fdisk_loff_t) sector * SECTOR_SIZE + BSD_LABELOFFSET, if (lseek (fd, (fdisk_loff_t) sector * SECTOR_SIZE + BSD_LABELOFFSET,
SEEK_SET) == -1) SEEK_SET) == -1)
fdisk_fatal (unable_to_seek); fdisk_fatal (unable_to_seek);
if (sizeof (struct xbsd_disklabel) != write (fd, d, sizeof (struct xbsd_disklabel))) if (sizeof (struct xbsd_disklabel) != write (fd, d, sizeof (struct xbsd_disklabel)))
@ -2083,7 +2018,7 @@ sgi_write_table(void) {
*/ */
sgiinfo *info = fill_sgiinfo(); sgiinfo *info = fill_sgiinfo();
int infostartblock = SGI_SSWAP32(sgilabel->directory[0].vol_file_start); int infostartblock = SGI_SSWAP32(sgilabel->directory[0].vol_file_start);
if (fdisk_llseek(fd, (long long)infostartblock* if (lseek(fd, (long long)infostartblock*
SECTOR_SIZE, SEEK_SET) < 0) SECTOR_SIZE, SEEK_SET) < 0)
fdisk_fatal(unable_to_seek); fdisk_fatal(unable_to_seek);
if (write(fd, info, SECTOR_SIZE) != SECTOR_SIZE) if (write(fd, info, SECTOR_SIZE) != SECTOR_SIZE)
@ -3467,7 +3402,7 @@ static void fdisk_fatal(enum failure why) {
static void static void
seek_sector(uint secno) { seek_sector(uint secno) {
fdisk_loff_t offset = (fdisk_loff_t) secno * sector_size; fdisk_loff_t offset = (fdisk_loff_t) secno * sector_size;
if (fdisk_llseek(fd, offset, SEEK_SET) == (fdisk_loff_t) -1) if (lseek(fd, offset, SEEK_SET) == (fdisk_loff_t) -1)
fdisk_fatal(unable_to_seek); fdisk_fatal(unable_to_seek);
} }