linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@thunk.org>
To: Valerie Clement <valerie.clement@bull.net>
Cc: ext4 development <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH 0/8][e2fsprogs] 64-bit block number support - first part
Date: Wed, 17 Oct 2007 10:53:26 -0400	[thread overview]
Message-ID: <20071017145326.GA11073@thunk.org> (raw)
In-Reply-To: <4716189E.7060301@bull.net>

On Wed, Oct 17, 2007 at 04:13:50PM +0200, Valerie Clement wrote:
> Theodore Tso wrote:
>> It's good to clean this up, but this presumes that blk_t is going to
>> change to a 64-bit type.  I'd much rather *add* a blk64_t, and keep
>> blk_t at 32 bits.  This patch series in a number of places makes the
>> presumption that blk_t will change size --- in particular when it
>> creates new interfaces that returns 64-bits through a blk_t.  Please
>> don't do that.
>
> Does it mean that we'll have to duplicate all of the structures
> containing fields of type blk_t (like process_block_struct,
> e2fsck_struct, ext2_inode_cache, ...) and also duplicate most of
> the code for the functions which use variables of type blk_t?

process_block_struct and e2fsck_struct are e2fsck specific structures,
so they don't have to be duplicated; the concern is libext2fs ABI
compatibility.

As far as ext2_inode_cache, you will note that the structure is
defined in ext2fsP.h, so it's not visible to outside callers.  The
ext2fsP.h file was created specifically to allow internal
implementation changes without breaking the ABI, because structures in
ext2fsP.h aren't part of the published interface.

If there are functions where we can show that none of the users of
libext2fs library are calling it, by surveying all known apps that
link against libext2fs (both in e2fsprogs and external to e2fsprogs),
then there is another alternative.  If we know that it's most likely
only being used as an internal helper functions by libext2fs, and the
only reason it wasn't declared static was because it was being used
from another .c file, we could use a linker script to hide the
internal functions using ELF symbol versions, so that applications
would never see those functions.  It won't work for the static
library, so it's not full proof, but if we at the same time use a
function prefix like ext2fs__ with two underscores, it'll probably be
good enough.  This would be the equivalent of removing a function from
the library (as far as outside callers are concerned), so we would
have to do our own due diligence before we could proceed, but it would
be possible.

						- Ted

      reply	other threads:[~2007-10-17 14:53 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-30 15:28 [PATCH 0/8][e2fsprogs] 64-bit block number support - first part Valerie Clement
2007-08-30 15:31 ` [PATCH 1/8][e2fsprogs] use existing function ext2fs_group_first_block() Valerie Clement
2007-10-14 22:53   ` Theodore Tso
2007-08-30 15:33 ` [PATCH 2/8][e2fsprogs] convert block number definition to blk_t Valerie Clement
2007-10-15  1:02   ` Theodore Tso
2007-08-30 15:37 ` [PATCH 3/8][e2fsprogs] add new -D <desc-size> option to mkfs Valerie Clement
2007-08-30 14:12   ` Andreas Dilger
2007-08-30 19:12   ` Mingming Cao
2007-08-30 20:51     ` Andreas Dilger
2007-09-01  0:25       ` Mingming Cao
2007-09-04  6:29         ` Andreas Dilger
2007-10-15  1:51   ` Theodore Tso
2007-08-30 15:38 ` [PATCH 4/8][e2fsprogs] add new macro to get descriptor number Valerie Clement
2007-10-15  2:09   ` Theodore Tso
2007-08-30 15:39 ` [PATCH 5/8][e2fsprogs] add new inline functions to get blocks counters Valerie Clement
2007-08-30 15:40 ` [PATCH 6/8][e2fsprogs] change access to the filesystem blocks counter Valerie Clement
2007-08-30 15:42 ` [PATCH 7/8][e2fsprogs] change access to the reserved " Valerie Clement
2007-08-30 15:43 ` [PATCH 8/8][e2fsprogs] change access to the free " Valerie Clement
2007-08-30 16:20 ` [PATCH 1/8][e2fsprogs] use existing function ext2fs_group_first_block() Valerie Clement
2007-10-14 15:12 ` [PATCH 0/8][e2fsprogs] 64-bit block number support - first part Theodore Tso
2007-10-17 14:13   ` Valerie Clement
2007-10-17 14:53     ` Theodore Tso [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071017145326.GA11073@thunk.org \
    --to=tytso@thunk.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=valerie.clement@bull.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).