• Andrew Morton's avatar
    [PATCH] remove partition_name() · 65faa449
    Andrew Morton authored
    From: Christoph Hellwig <hch@lst.de>
    
    partition_name() is a variant of __bdevname() that caches results and
    returns a pointrer to kmalloc()ed data instead of printing into a buffer.
    Due to it's caching it gets utterly confused when the name for a dev_t
    changes (can happen easily now with device mapper and probably in the
    future with dynamic dev_t users).
    
    It's only used by the raid code and most calls are through a wrapper,
    bdev_partition_name() which takes a struct block_device * that maybe be
    NULL.
    
    The patch below changes the bdev_partition_name() to call bdevname() if
    possible and the other calls where we really have nothing more than a dev_t
    to __bdevname.
    
    Btw, it would be nice if someone who knows the md code a bit better than me
    could remove bdev_partition_name() in favour of direct calls to bdevname()
    where possible - that would also get rid of the returns pointer to string
    on stack issue that this patch can't fix yet.
    65faa449
check.c 10.2 KB