projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
xfs: fix missing KM_NOFS tags to keep lockdep happy
[firefly-linux-kernel-4.4.55.git]
/
fs
/
block_dev.c
diff --git
a/fs/block_dev.c
b/fs/block_dev.c
index ce08de7467a337231da89a19958a27ff6a2e8b4c..2091db8cdd783a2287ce9165a7223cfe59cf5a2b 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"
@@
-1045,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:
@@
-1400,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;
@@
-1422,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;
@@
-1441,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);
@@
-1488,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)
@@
-1557,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);
}