]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/block_dev.c
Merge branch 'master'
[linux-2.6-omap-h63xx.git] / fs / block_dev.c
index 3f36df7e037cc0f32e136b5dc314185cd2b9981d..f5958f413bd1135787e2dc731f92b562c452d390 100644 (file)
@@ -723,11 +723,11 @@ static int bd_claim_by_kobject(struct block_device *bdev, void *holder,
        if (!bo)
                return -ENOMEM;
 
-       down(&bdev->bd_sem);
+       mutex_lock(&bdev->bd_mutex);
        res = bd_claim(bdev, holder);
        if (res || !add_bd_holder(bdev, bo))
                free_bd_holder(bo);
-       up(&bdev->bd_sem);
+       mutex_unlock(&bdev->bd_mutex);
 
        return res;
 }
@@ -748,11 +748,11 @@ static void bd_release_from_kobject(struct block_device *bdev,
        if (!kobj)
                return;
 
-       down(&bdev->bd_sem);
+       mutex_lock(&bdev->bd_mutex);
        bd_release(bdev);
        if ((bo = del_bd_holder(bdev, kobj)))
                free_bd_holder(bo);
-       up(&bdev->bd_sem);
+       mutex_unlock(&bdev->bd_mutex);
 }
 
 /**
@@ -1087,7 +1087,7 @@ struct address_space_operations def_blk_aops = {
        .direct_IO      = blkdev_direct_IO,
 };
 
-struct file_operations def_blk_fops = {
+const struct file_operations def_blk_fops = {
        .open           = blkdev_open,
        .release        = blkdev_close,
        .llseek         = block_llseek,
@@ -1104,6 +1104,8 @@ struct file_operations def_blk_fops = {
        .readv          = generic_file_readv,
        .writev         = generic_file_write_nolock,
        .sendfile       = generic_file_sendfile,
+       .splice_read    = generic_file_splice_read,
+       .splice_write   = generic_file_splice_write,
 };
 
 int ioctl_by_bdev(struct block_device *bdev, unsigned cmd, unsigned long arg)