Re: [2.6 patch] bio.c: make bio_destructor static

From: Jeff V. Merkey (jmerkey_at_drdos.com)
Date: 11/01/04

  • Next message: John McCutchan: "[RFC][PATCH] inotify 0.15"
    Date: 	Mon, 01 Nov 2004 11:51:26 -0700
    To: Jens Axboe <axboe@suse.de>
    
    

    Jens Axboe wrote:

    >On Sat, Oct 30 2004, Adrian Bunk wrote:
    >
    >
    >>bio_destructor in fs/bio.c isn't used outside of this file, and after
    >>quickly thinking about it I didn't find a reason why it should.
    >>
    >>The patch below makes it static.
    >>
    >>
    >>Signed-off-by: Adrian Bunk <bunk@stusta.de>
    >>
    >>
    >
    >Acked-by: Jens Axboe <axboe@suse.de>
    >
    >
    >
    >>--- linux-2.6.10-rc1-mm2-full/fs/bio.c.old 2004-10-30 13:53:41.000000000 +0200
    >>+++ linux-2.6.10-rc1-mm2-full/fs/bio.c 2004-10-30 13:56:16.000000000 +0200
    >>@@ -91,7 +91,7 @@
    >> /*
    >> * default destructor for a bio allocated with bio_alloc()
    >> */
    >>-void bio_destructor(struct bio *bio)
    >>+static void bio_destructor(struct bio *bio)
    >> {
    >> const int pool_idx = BIO_POOL_IDX(bio);
    >> struct biovec_pool *bp = bvec_array + pool_idx;
    >>
    >>
    >>
    >>
    >
    >
    >
    Jens,

    This change does not break me either. Seems benign. One thing to
    consider is the ability to remap
    block addresses from bios for mv operations that occur across mount
    points. At present, do_rename
    returns -EXDEV if someone attempts an mv operation accross mount points
    which point to
    physical storage in the same system, and requires all the data copy up
    to user space then back
    down. This seems wasteful of cycles and inefficient.

    A better model, and one I have implemented in the dsfs file system (I
    changed do_rename extensively)
    is to cache the mv'd file and alias the bio chain to point to the new
    disk location during mv commands,
    even across mount points, and allow the data to DMA directly between
    local mount points without
    moving the data up to user space and back down.

    I am doing this with some heavy modifications, but I think it more
    appropriately should be a kernel
    feature "fait acompli." The bio interface in the buffer cache (and some
    triggers in do rename) has to
    be able to remap data chains to another device on the fly.

    Why? If you are using remote Fiber Channel adapters that map storage
    local as SCSI it's super fast
    and low cycle overhead to simply mv the files and have them dma out on
    the storage and skip the
    inefficient user space copy.

    Just a suggestion.

    Jeff

    -
    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/


  • Next message: John McCutchan: "[RFC][PATCH] inotify 0.15"

    Relevant Pages

    • Re: Non-hard drive partitions on locked down server?
      ... > need persistent storage and don't care much ... > filesystem mount points within a SINGLE physical flash drive? ... > multiple files to use as loopback mounts? ...
      (comp.os.linux.security)
    • Re: [Devel] Re: [patch 05/10] add "permit user mounts in new namespace" clone flag
      ... mount namespace into the latter category of work. ... I've tried to make this unprivileged mount thing as simple as ... The flag permitting the unprivileged mounts (which we now agreed to ... After user space has been updated we always want to allow unprivileged ...
      (Linux-Kernel)
    • Re: Slave Drive (resend)
      ... Wayne Smith wrote: ... want to use it separately from the Filesystem as storage for my files. ... mount it up otherwise and use it. ...
      (Ubuntu)
    • Re: mount-2.12r-ggk.tar.gz
      ... The mtab needs to die. ... What the icon is that should represent this filesystem. ... associated to this mount, and which program must do the cleanup. ... What is missing is a way for user space to find out what the actual ...
      (Linux-Kernel)
    • Re: How to enumerate USB Mass Storage devices?
      ... and the Volume Management functions. ... When enumerating all devices that expose GUID_DEVINTERFACE_VOLUME the path value in each SP_DEVICE_INTERFACE_DETAIL_DATA begins with STORAGE instead of VOLUME. ... So I can't use the path value to retrieve the mount points of a specific volume. ... GetVolumeNameForVolumeMountPoint and see if the result matches the above result. ...
      (microsoft.public.development.device.drivers)