lkml.org 
[lkml]   [2007]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [patch 14/23] inodes: Support generic defragmentation
    Date
    Jörn Engel <joern@logfs.org> writes:

    > On Tue, 6 November 2007 17:11:44 -0800, Christoph Lameter wrote:
    >>
    >> +/*
    >> + * Function for filesystems that embedd struct inode into their own
    >> + * structures. The offset is the offset of the struct inode in the fs inode.
    >> + */
    >> +void *fs_get_inodes(struct kmem_cache *s, int nr, void **v,
    >> + unsigned long offset)
    >> +{
    >> + int i;
    >> +
    >> + for (i = 0; i < nr; i++)
    >> + v[i] += offset;
    >> +
    >> + return get_inodes(s, nr, v);
    >> +}
    >> +EXPORT_SYMBOL(fs_get_inodes);
    >
    > The fact that all pointers get changed makes me a bit uneasy:
    > struct foo_inode v[20];
    > ...
    > fs_get_inodes(..., v, ...);
    > ...
    > v[0].foo_field = bar;
    >
    > No warning, but spectacular fireworks.

    You'l get a warning that struct foo_inode * is incompatible with void **.

    Andreas.

    --
    Andreas Schwab, SuSE Labs, schwab@suse.de
    SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
    PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
    "And now for something completely different."
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-11-07 11:39    [W:0.023 / U:32.856 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site