public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* daddr_t is inconsistent and barely used
@ 2001-08-16  2:40 Keith Owens
  2001-08-16  2:57 ` Christoph Hellwig
  0 siblings, 1 reply; 6+ messages in thread
From: Keith Owens @ 2001-08-16  2:40 UTC (permalink / raw)
  To: linux-kernel

daddr_t is barely used in the kernel.  2.4.8.

fs/freevxfs/vxfs.h:   daddr_t                 vsi_oltext;     /* OLT extent */
fs/freevxfs/vxfs.h:   daddr_t                 vsi_oltsize;    /* OLT size */
fs/freevxfs/vxfs_bmap.c:static daddr_t
fs/freevxfs/vxfs_bmap.c:              daddr_t                 pblock;
fs/freevxfs/vxfs_bmap.c:static daddr_t
fs/freevxfs/vxfs_bmap.c:      daddr_t                         pblock = 0;
fs/freevxfs/vxfs_bmap.c:static daddr_t
fs/freevxfs/vxfs_bmap.c:      daddr_t                         pblock = 0;
fs/freevxfs/vxfs_bmap.c:daddr_t
fs/freevxfs/vxfs_extern.h:extern daddr_t                      vxfs_bmap1(struct inode *, long);
fs/freevxfs/vxfs_olt.c:vxfs_oblock(daddr_t oblock, u_long bsize)
fs/freevxfs/vxfs_subr.c:      daddr_t                 pblock;
fs/freevxfs/vxfs_subr.c:      daddr_t                 pblock;
include/linux/genhd.h:        daddr_t s_start;                /* start sector no of partition */
include/linux/types.h:typedef __kernel_daddr_t        daddr_t;
arch/parisc/hpux/sys_hpux.c:  int32_t         f_tfree;        /* total free (daddr_t)  */

The use of daddr_t in freevxfs may give different in core and disk
layouts on different machines.  Is that intended?.

Its definition is not consistent.  Some 32 bit machines use int, some
use long.  Some 64 bit machines use int, some use long.

include/linux/types.h:typedef __kernel_daddr_t        daddr_t;
include/linux/types.h:        __kernel_daddr_t        f_tfree;
include/linux/mtio.h: __kernel_daddr_t mt_fileno;     /* number of current file on tape */
include/linux/mtio.h: __kernel_daddr_t mt_blkno;      /* current block number */
include/asm-i386/posix_types.h:typedef int            __kernel_daddr_t;
include/asm-mips/posix_types.h:typedef long           __kernel_daddr_t;
include/asm-alpha/posix_types.h:typedef int           __kernel_daddr_t;
include/asm-m68k/posix_types.h:typedef int            __kernel_daddr_t;
include/asm-sparc/posix_types.h:typedef long                   __kernel_daddr_t;
include/asm-ppc/posix_types.h:typedef int             __kernel_daddr_t;
include/asm-sparc64/posix_types.h:typedef int                    __kernel_daddr_t;
include/asm-arm/posix_types.h:typedef int                     __kernel_daddr_t;
include/asm-sh/posix_types.h:typedef int              __kernel_daddr_t;
include/asm-ia64/posix_types.h:typedef int            __kernel_daddr_t;
include/asm-mips64/posix_types.h:typedef long         __kernel_daddr_t;
include/asm-s390/posix_types.h:typedef int             __kernel_daddr_t;
include/asm-parisc/posix_types.h:typedef int                  __kernel_daddr_t;
include/asm-cris/posix_types.h:typedef int            __kernel_daddr_t;
include/asm-s390x/posix_types.h:typedef int             __kernel_daddr_t;

Do we still need daddr_t?

This question was raised when I saw patches for ia64 that replaced u32
with unsigned long because ia64 needs 64 bit.  Shouldn't we be using a
consistent type that holds kernel addresses as numbers?  off_t and
loff_t are not suitable.  caddr_t is close but uses char *, sometimes
you want just a number.  What about defining kaddr_t?


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2001-08-16  4:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-08-16  2:40 daddr_t is inconsistent and barely used Keith Owens
2001-08-16  2:57 ` Christoph Hellwig
2001-08-16  3:14   ` Keith Owens
2001-08-16  3:21     ` Christoph Hellwig
2001-08-16  3:52       ` Albert D. Cahalan
2001-08-16  3:59         ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox