• Ed Cashin's avatar
    aoe: end barrier bios with EOPNOTSUPP · 18d8217b
    Ed Cashin authored
    BugLink: http://bugzilla.kernel.org/show_bug.cgi?id=13942
    
    Bruno Premont noticed that aoe throws a BUG during umount of an XFS in
    2.6.31:
    
    [ 5259.349897] aoe: bi_io_vec is NULL
    [ 5259.349940] ------------[ cut here ]------------
    [ 5259.349958] kernel BUG at /usr/src/linux-2.6/drivers/block/aoe/aoeblk.c:177!
    [ 5259.349990] invalid opcode: 0000 [#1]
    
    The bio in question is a barrier.  Jens Axboe suggested that such bios
    need to be recognized and ended with -EOPNOTSUPP by any driver that
    provides its own ->make_request_fn handler and does not handle
    barriers.
    
    In testing the changes below eliminate the BUG.
    
    (Better would be real barrier support, something that Ed says he'll add
    for later in the .32 cycle. For now, this at least gets rid of a bug
    with crashing on an empty barrier. Jens)
    Signed-off-by: default avatarEd L. Cashin <ecashin@coraid.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    18d8217b
aoeblk.c 7.37 KB