projects
/
platform
/
adaptation
/
renesas_rcar
/
renesas_kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
radeon: Switch to arch_phys_wc_add and add a missing ..._del
[platform/adaptation/renesas_rcar/renesas_kernel.git]
/
fs
/
block_dev.c
diff --git
a/fs/block_dev.c
b/fs/block_dev.c
index
aae187a
..
2091db8
100644
(file)
--- a/
fs/block_dev.c
+++ b/
fs/block_dev.c
@@
-27,6
+27,7
@@
#include <linux/namei.h>
#include <linux/log2.h>
#include <linux/cleancache.h>
#include <linux/namei.h>
#include <linux/log2.h>
#include <linux/cleancache.h>
+#include <linux/aio.h>
#include <asm/uaccess.h>
#include "internal.h"
#include <asm/uaccess.h>
#include "internal.h"
@@
-617,11
+618,9
@@
void bd_forget(struct inode *inode)
struct block_device *bdev = NULL;
spin_lock(&bdev_lock);
struct block_device *bdev = NULL;
spin_lock(&bdev_lock);
- if (inode->i_bdev) {
- if (!sb_is_blkdev_sb(inode->i_sb))
- bdev = inode->i_bdev;
- __bd_forget(inode);
- }
+ if (!sb_is_blkdev_sb(inode->i_sb))
+ bdev = inode->i_bdev;
+ __bd_forget(inode);
spin_unlock(&bdev_lock);
if (bdev)
spin_unlock(&bdev_lock);
if (bdev)
@@
-1047,7
+1046,7
@@
void bd_set_size(struct block_device *bdev, loff_t size)
}
EXPORT_SYMBOL(bd_set_size);
}
EXPORT_SYMBOL(bd_set_size);
-static
int
__blkdev_put(struct block_device *bdev, fmode_t mode, int for_part);
+static
void
__blkdev_put(struct block_device *bdev, fmode_t mode, int for_part);
/*
* bd_mutex locking:
/*
* bd_mutex locking:
@@
-1402,9
+1401,8
@@
static int blkdev_open(struct inode * inode, struct file * filp)
return blkdev_get(bdev, filp->f_mode, filp);
}
return blkdev_get(bdev, filp->f_mode, filp);
}
-static
int
__blkdev_put(struct block_device *bdev, fmode_t mode, int for_part)
+static
void
__blkdev_put(struct block_device *bdev, fmode_t mode, int for_part)
{
{
- int ret = 0;
struct gendisk *disk = bdev->bd_disk;
struct block_device *victim = NULL;
struct gendisk *disk = bdev->bd_disk;
struct block_device *victim = NULL;
@@
-1424,7
+1422,7
@@
static int __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part)
}
if (bdev->bd_contains == bdev) {
if (disk->fops->release)
}
if (bdev->bd_contains == bdev) {
if (disk->fops->release)
-
ret =
disk->fops->release(disk, mode);
+ disk->fops->release(disk, mode);
}
if (!bdev->bd_openers) {
struct module *owner = disk->fops->owner;
}
if (!bdev->bd_openers) {
struct module *owner = disk->fops->owner;
@@
-1443,10
+1441,9
@@
static int __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part)
bdput(bdev);
if (victim)
__blkdev_put(victim, mode, 1);
bdput(bdev);
if (victim)
__blkdev_put(victim, mode, 1);
- return ret;
}
}
-
int
blkdev_put(struct block_device *bdev, fmode_t mode)
+
void
blkdev_put(struct block_device *bdev, fmode_t mode)
{
mutex_lock(&bdev->bd_mutex);
{
mutex_lock(&bdev->bd_mutex);
@@
-1490,15
+1487,15
@@
int blkdev_put(struct block_device *bdev, fmode_t mode)
mutex_unlock(&bdev->bd_mutex);
mutex_unlock(&bdev->bd_mutex);
-
return
__blkdev_put(bdev, mode, 0);
+ __blkdev_put(bdev, mode, 0);
}
EXPORT_SYMBOL(blkdev_put);
static int blkdev_close(struct inode * inode, struct file * filp)
{
struct block_device *bdev = I_BDEV(filp->f_mapping->host);
}
EXPORT_SYMBOL(blkdev_put);
static int blkdev_close(struct inode * inode, struct file * filp)
{
struct block_device *bdev = I_BDEV(filp->f_mapping->host);
-
- return
blkdev_put(bdev, filp->f_mode)
;
+ blkdev_put(bdev, filp->f_mode);
+ return
0
;
}
static long block_ioctl(struct file *file, unsigned cmd, unsigned long arg)
}
static long block_ioctl(struct file *file, unsigned cmd, unsigned long arg)
@@
-1559,7
+1556,7
@@
static ssize_t blkdev_aio_read(struct kiocb *iocb, const struct iovec *iov,
return 0;
size -= pos;
return 0;
size -= pos;
- if (size <
INT_MAX
)
+ if (size <
iocb->ki_left
)
nr_segs = iov_shorten((struct iovec *)iov, nr_segs, size);
return generic_file_aio_read(iocb, iov, nr_segs, pos);
}
nr_segs = iov_shorten((struct iovec *)iov, nr_segs, size);
return generic_file_aio_read(iocb, iov, nr_segs, pos);
}