diff options
| author | Mike Marshall <hubcap@omnibond.com> | 2017-02-25 19:12:48 +0300 |
|---|---|---|
| committer | Mike Marshall <hubcap@omnibond.com> | 2017-02-25 19:12:48 +0300 |
| commit | e98bdb3059cbf2b1cd4261e126b08429f64466c3 (patch) | |
| tree | e378fc95b495cc6e0e558f247e99bcaa21a6d567 /include/linux/buffer_head.h | |
| parent | eb68d0324dc4d88ab0d6159bdcd98c247a3a8954 (diff) | |
| parent | c470abd4fde40ea6a0846a2beab642a578c0b8cd (diff) | |
| download | linux-e98bdb3059cbf2b1cd4261e126b08429f64466c3.tar.xz | |
Merge tag 'v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into for-next
Linux 4.10
Diffstat (limited to 'include/linux/buffer_head.h')
| -rw-r--r-- | include/linux/buffer_head.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index ebbacd14d450..79591c3660cc 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h @@ -168,7 +168,12 @@ int inode_has_buffers(struct inode *); void invalidate_inode_buffers(struct inode *); int remove_inode_buffers(struct inode *inode); int sync_mapping_buffers(struct address_space *mapping); -void unmap_underlying_metadata(struct block_device *bdev, sector_t block); +void clean_bdev_aliases(struct block_device *bdev, sector_t block, + sector_t len); +static inline void clean_bdev_bh_alias(struct buffer_head *bh) +{ + clean_bdev_aliases(bh->b_bdev, bh->b_blocknr, 1); +} void mark_buffer_async_write(struct buffer_head *bh); void __wait_on_buffer(struct buffer_head *); @@ -238,12 +243,10 @@ static inline int block_page_mkwrite_return(int err) { if (err == 0) return VM_FAULT_LOCKED; - if (err == -EFAULT) + if (err == -EFAULT || err == -EAGAIN) return VM_FAULT_NOPAGE; if (err == -ENOMEM) return VM_FAULT_OOM; - if (err == -EAGAIN) - return VM_FAULT_RETRY; /* -ENOSPC, -EDQUOT, -EIO ... */ return VM_FAULT_SIGBUS; } |
