X-Git-Url: http://bbs.cooldavid.org/git/?a=blobdiff_plain;f=drivers%2Fblock%2Fnbd.c;h=a32fb41246f883a0a29fecca2cf70d17b0e7bae2;hb=2a48fc0ab24241755dc93bfd4f01d68efab47f5a;hp=0daa422aa281c4a833299d86252d06abdc337fa4;hpb=2f9e825d3e0e2b407ae8f082de5c00afcf7378fb;p=net-next-2.6.git diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index 0daa422aa28..a32fb41246f 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include #include @@ -53,6 +53,7 @@ #define DBG_BLKDEV 0x0100 #define DBG_RX 0x0200 #define DBG_TX 0x0400 +static DEFINE_MUTEX(nbd_mutex); static unsigned int debugflags; #endif /* NDEBUG */ @@ -717,11 +718,11 @@ static int nbd_ioctl(struct block_device *bdev, fmode_t mode, dprintk(DBG_IOCTL, "%s: nbd_ioctl cmd=%s(0x%x) arg=%lu\n", lo->disk->disk_name, ioctl_cmd_to_ascii(cmd), cmd, arg); - lock_kernel(); + mutex_lock(&nbd_mutex); mutex_lock(&lo->tx_lock); error = __nbd_ioctl(bdev, lo, cmd, arg); mutex_unlock(&lo->tx_lock); - unlock_kernel(); + mutex_unlock(&nbd_mutex); return error; }