From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.133]:57756 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752524AbeEPFoj (ORCPT ); Wed, 16 May 2018 01:44:39 -0400 From: Christoph Hellwig To: Souptick Joarder , Matthew Wilcox Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, devel@lists.orangefs.org, ceph-devel@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, ocfs2-devel@oss.oracle.com, linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org, lustre-devel@lists.lustre.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org Subject: [PATCH 06/14] btrfs: separate errno from VM_FAULT_* values Date: Wed, 16 May 2018 07:43:40 +0200 Message-Id: <20180516054348.15950-7-hch@lst.de> In-Reply-To: <20180516054348.15950-1-hch@lst.de> References: <20180516054348.15950-1-hch@lst.de> Sender: linux-btrfs-owner@vger.kernel.org List-ID: Signed-off-by: Christoph Hellwig --- fs/btrfs/ctree.h | 2 +- fs/btrfs/inode.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 1485cd130e2b..02a0de73c1d1 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3203,7 +3203,7 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset, size_t size, struct bio *bio, unsigned long bio_flags); void btrfs_set_range_writeback(void *private_data, u64 start, u64 end); -int btrfs_page_mkwrite(struct vm_fault *vmf); +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf); int btrfs_readpage(struct file *file, struct page *page); void btrfs_evict_inode(struct inode *inode); int btrfs_write_inode(struct inode *inode, struct writeback_control *wbc); diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index ec9db248c499..f4f03f0f4556 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -8824,7 +8824,7 @@ static void btrfs_invalidatepage(struct page *page, unsigned int offset, * beyond EOF, then the page is guaranteed safe against truncation until we * unlock the page. */ -int btrfs_page_mkwrite(struct vm_fault *vmf) +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf) { struct page *page = vmf->page; struct inode *inode = file_inode(vmf->vma->vm_file); @@ -8836,7 +8836,8 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) char *kaddr; unsigned long zero_start; loff_t size; - int ret; + vm_fault_t ret; + int err; int reserved = 0; u64 reserved_space; u64 page_start; @@ -8858,14 +8859,14 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) * end up waiting indefinitely to get a lock on the page currently * being processed by btrfs_page_mkwrite() function. */ - ret = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, + err = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, reserved_space); - if (!ret) { - ret = file_update_time(vmf->vma->vm_file); + if (!err) { + err = file_update_time(vmf->vma->vm_file); reserved = 1; } - if (ret) { - if (ret == -ENOMEM) + if (err) { + if (err == -ENOMEM) ret = VM_FAULT_OOM; else /* -ENOSPC, -EIO, etc */ ret = VM_FAULT_SIGBUS; @@ -8927,9 +8928,9 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, 0, 0, &cached_state); - ret = btrfs_set_extent_delalloc(inode, page_start, end, 0, + err = btrfs_set_extent_delalloc(inode, page_start, end, 0, &cached_state, 0); - if (ret) { + if (err) { unlock_extent_cached(io_tree, page_start, page_end, &cached_state); ret = VM_FAULT_SIGBUS; -- 2.17.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH 06/14] btrfs: separate errno from VM_FAULT_* values Date: Wed, 16 May 2018 07:43:40 +0200 Message-ID: <20180516054348.15950-7-hch@lst.de> References: <20180516054348.15950-1-hch@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180516054348.15950-1-hch@lst.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" List-Archive: List-Post: To: Souptick Joarder , Matthew Wilcox Cc: linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, ocfs2-devel@oss.oracle.com, devel@lists.orangefs.org, linux-fsdevel@vger.kernel.org, linux-mtd@lists.infradead.org, ceph-devel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org, lustre-devel@lists.lustre.org List-ID: U2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+Ci0tLQogZnMvYnRy ZnMvY3RyZWUuaCB8ICAyICstCiBmcy9idHJmcy9pbm9kZS5jIHwgMTkgKysrKysrKysrKy0tLS0t LS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9mcy9idHJmcy9jdHJlZS5oIGIvZnMvYnRyZnMvY3RyZWUuaAppbmRleCAx NDg1Y2QxMzBlMmIuLjAyYTBkZTczYzFkMSAxMDA2NDQKLS0tIGEvZnMvYnRyZnMvY3RyZWUuaAor KysgYi9mcy9idHJmcy9jdHJlZS5oCkBAIC0zMjAzLDcgKzMyMDMsNyBAQCBpbnQgYnRyZnNfbWVy Z2VfYmlvX2hvb2soc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAogCQkJ IHNpemVfdCBzaXplLCBzdHJ1Y3QgYmlvICpiaW8sCiAJCQkgdW5zaWduZWQgbG9uZyBiaW9fZmxh Z3MpOwogdm9pZCBidHJmc19zZXRfcmFuZ2Vfd3JpdGViYWNrKHZvaWQgKnByaXZhdGVfZGF0YSwg dTY0IHN0YXJ0LCB1NjQgZW5kKTsKLWludCBidHJmc19wYWdlX21rd3JpdGUoc3RydWN0IHZtX2Zh dWx0ICp2bWYpOwordm1fZmF1bHRfdCBidHJmc19wYWdlX21rd3JpdGUoc3RydWN0IHZtX2ZhdWx0 ICp2bWYpOwogaW50IGJ0cmZzX3JlYWRwYWdlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgcGFn ZSAqcGFnZSk7CiB2b2lkIGJ0cmZzX2V2aWN0X2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpOwog aW50IGJ0cmZzX3dyaXRlX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCB3cml0ZWJh Y2tfY29udHJvbCAqd2JjKTsKZGlmZiAtLWdpdCBhL2ZzL2J0cmZzL2lub2RlLmMgYi9mcy9idHJm cy9pbm9kZS5jCmluZGV4IGVjOWRiMjQ4YzQ5OS4uZjRmMDNmMGY0NTU2IDEwMDY0NAotLS0gYS9m cy9idHJmcy9pbm9kZS5jCisrKyBiL2ZzL2J0cmZzL2lub2RlLmMKQEAgLTg4MjQsNyArODgyNCw3 IEBAIHN0YXRpYyB2b2lkIGJ0cmZzX2ludmFsaWRhdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCB1 bnNpZ25lZCBpbnQgb2Zmc2V0LAogICogYmV5b25kIEVPRiwgdGhlbiB0aGUgcGFnZSBpcyBndWFy YW50ZWVkIHNhZmUgYWdhaW5zdCB0cnVuY2F0aW9uIHVudGlsIHdlCiAgKiB1bmxvY2sgdGhlIHBh Z2UuCiAgKi8KLWludCBidHJmc19wYWdlX21rd3JpdGUoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCit2 bV9mYXVsdF90IGJ0cmZzX3BhZ2VfbWt3cml0ZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIHsKIAlz dHJ1Y3QgcGFnZSAqcGFnZSA9IHZtZi0+cGFnZTsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmls ZV9pbm9kZSh2bWYtPnZtYS0+dm1fZmlsZSk7CkBAIC04ODM2LDcgKzg4MzYsOCBAQCBpbnQgYnRy ZnNfcGFnZV9ta3dyaXRlKHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCWNoYXIgKmthZGRyOwogCXVu c2lnbmVkIGxvbmcgemVyb19zdGFydDsKIAlsb2ZmX3Qgc2l6ZTsKLQlpbnQgcmV0OworCXZtX2Zh dWx0X3QgcmV0OworCWludCBlcnI7CiAJaW50IHJlc2VydmVkID0gMDsKIAl1NjQgcmVzZXJ2ZWRf c3BhY2U7CiAJdTY0IHBhZ2Vfc3RhcnQ7CkBAIC04ODU4LDE0ICs4ODU5LDE0IEBAIGludCBidHJm c19wYWdlX21rd3JpdGUoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJICogZW5kIHVwIHdhaXRpbmcg aW5kZWZpbml0ZWx5IHRvIGdldCBhIGxvY2sgb24gdGhlIHBhZ2UgY3VycmVudGx5CiAJICogYmVp bmcgcHJvY2Vzc2VkIGJ5IGJ0cmZzX3BhZ2VfbWt3cml0ZSgpIGZ1bmN0aW9uLgogCSAqLwotCXJl dCA9IGJ0cmZzX2RlbGFsbG9jX3Jlc2VydmVfc3BhY2UoaW5vZGUsICZkYXRhX3Jlc2VydmVkLCBw YWdlX3N0YXJ0LAorCWVyciA9IGJ0cmZzX2RlbGFsbG9jX3Jlc2VydmVfc3BhY2UoaW5vZGUsICZk YXRhX3Jlc2VydmVkLCBwYWdlX3N0YXJ0LAogCQkJCQkgICByZXNlcnZlZF9zcGFjZSk7Ci0JaWYg KCFyZXQpIHsKLQkJcmV0ID0gZmlsZV91cGRhdGVfdGltZSh2bWYtPnZtYS0+dm1fZmlsZSk7CisJ aWYgKCFlcnIpIHsKKwkJZXJyID0gZmlsZV91cGRhdGVfdGltZSh2bWYtPnZtYS0+dm1fZmlsZSk7 CiAJCXJlc2VydmVkID0gMTsKIAl9Ci0JaWYgKHJldCkgewotCQlpZiAocmV0ID09IC1FTk9NRU0p CisJaWYgKGVycikgeworCQlpZiAoZXJyID09IC1FTk9NRU0pCiAJCQlyZXQgPSBWTV9GQVVMVF9P T007CiAJCWVsc2UgLyogLUVOT1NQQywgLUVJTywgZXRjICovCiAJCQlyZXQgPSBWTV9GQVVMVF9T SUdCVVM7CkBAIC04OTI3LDkgKzg5MjgsOSBAQCBpbnQgYnRyZnNfcGFnZV9ta3dyaXRlKHN0cnVj dCB2bV9mYXVsdCAqdm1mKQogCQkJICBFWFRFTlRfRE9fQUNDT1VOVElORyB8IEVYVEVOVF9ERUZS QUcsCiAJCQkgIDAsIDAsICZjYWNoZWRfc3RhdGUpOwogCi0JcmV0ID0gYnRyZnNfc2V0X2V4dGVu dF9kZWxhbGxvYyhpbm9kZSwgcGFnZV9zdGFydCwgZW5kLCAwLAorCWVyciA9IGJ0cmZzX3NldF9l eHRlbnRfZGVsYWxsb2MoaW5vZGUsIHBhZ2Vfc3RhcnQsIGVuZCwgMCwKIAkJCQkJJmNhY2hlZF9z dGF0ZSwgMCk7Ci0JaWYgKHJldCkgeworCWlmIChlcnIpIHsKIAkJdW5sb2NrX2V4dGVudF9jYWNo ZWQoaW9fdHJlZSwgcGFnZV9zdGFydCwgcGFnZV9lbmQsCiAJCQkJICAgICAmY2FjaGVkX3N0YXRl KTsKIAkJcmV0ID0gVk1fRkFVTFRfU0lHQlVTOwotLSAKMi4xNy4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Wed, 16 May 2018 07:43:40 +0200 Subject: [Ocfs2-devel] [PATCH 06/14] btrfs: separate errno from VM_FAULT_* values In-Reply-To: <20180516054348.15950-1-hch@lst.de> References: <20180516054348.15950-1-hch@lst.de> Message-ID: <20180516054348.15950-7-hch@lst.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Souptick Joarder , Matthew Wilcox Cc: linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, ocfs2-devel@oss.oracle.com, devel@lists.orangefs.org, linux-fsdevel@vger.kernel.org, linux-mtd@lists.infradead.org, ceph-devel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org, lustre-devel@lists.lustre.org Signed-off-by: Christoph Hellwig --- fs/btrfs/ctree.h | 2 +- fs/btrfs/inode.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 1485cd130e2b..02a0de73c1d1 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3203,7 +3203,7 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset, size_t size, struct bio *bio, unsigned long bio_flags); void btrfs_set_range_writeback(void *private_data, u64 start, u64 end); -int btrfs_page_mkwrite(struct vm_fault *vmf); +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf); int btrfs_readpage(struct file *file, struct page *page); void btrfs_evict_inode(struct inode *inode); int btrfs_write_inode(struct inode *inode, struct writeback_control *wbc); diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index ec9db248c499..f4f03f0f4556 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -8824,7 +8824,7 @@ static void btrfs_invalidatepage(struct page *page, unsigned int offset, * beyond EOF, then the page is guaranteed safe against truncation until we * unlock the page. */ -int btrfs_page_mkwrite(struct vm_fault *vmf) +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf) { struct page *page = vmf->page; struct inode *inode = file_inode(vmf->vma->vm_file); @@ -8836,7 +8836,8 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) char *kaddr; unsigned long zero_start; loff_t size; - int ret; + vm_fault_t ret; + int err; int reserved = 0; u64 reserved_space; u64 page_start; @@ -8858,14 +8859,14 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) * end up waiting indefinitely to get a lock on the page currently * being processed by btrfs_page_mkwrite() function. */ - ret = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, + err = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, reserved_space); - if (!ret) { - ret = file_update_time(vmf->vma->vm_file); + if (!err) { + err = file_update_time(vmf->vma->vm_file); reserved = 1; } - if (ret) { - if (ret == -ENOMEM) + if (err) { + if (err == -ENOMEM) ret = VM_FAULT_OOM; else /* -ENOSPC, -EIO, etc */ ret = VM_FAULT_SIGBUS; @@ -8927,9 +8928,9 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, 0, 0, &cached_state); - ret = btrfs_set_extent_delalloc(inode, page_start, end, 0, + err = btrfs_set_extent_delalloc(inode, page_start, end, 0, &cached_state, 0); - if (ret) { + if (err) { unlock_extent_cached(io_tree, page_start, page_end, &cached_state); ret = VM_FAULT_SIGBUS; -- 2.17.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Wed, 16 May 2018 07:43:40 +0200 Subject: [lustre-devel] [PATCH 06/14] btrfs: separate errno from VM_FAULT_* values In-Reply-To: <20180516054348.15950-1-hch@lst.de> References: <20180516054348.15950-1-hch@lst.de> Message-ID: <20180516054348.15950-7-hch@lst.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Souptick Joarder , Matthew Wilcox Cc: linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, ocfs2-devel@oss.oracle.com, devel@lists.orangefs.org, linux-fsdevel@vger.kernel.org, linux-mtd@lists.infradead.org, ceph-devel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org, lustre-devel@lists.lustre.org Signed-off-by: Christoph Hellwig --- fs/btrfs/ctree.h | 2 +- fs/btrfs/inode.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 1485cd130e2b..02a0de73c1d1 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3203,7 +3203,7 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset, size_t size, struct bio *bio, unsigned long bio_flags); void btrfs_set_range_writeback(void *private_data, u64 start, u64 end); -int btrfs_page_mkwrite(struct vm_fault *vmf); +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf); int btrfs_readpage(struct file *file, struct page *page); void btrfs_evict_inode(struct inode *inode); int btrfs_write_inode(struct inode *inode, struct writeback_control *wbc); diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index ec9db248c499..f4f03f0f4556 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -8824,7 +8824,7 @@ static void btrfs_invalidatepage(struct page *page, unsigned int offset, * beyond EOF, then the page is guaranteed safe against truncation until we * unlock the page. */ -int btrfs_page_mkwrite(struct vm_fault *vmf) +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf) { struct page *page = vmf->page; struct inode *inode = file_inode(vmf->vma->vm_file); @@ -8836,7 +8836,8 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) char *kaddr; unsigned long zero_start; loff_t size; - int ret; + vm_fault_t ret; + int err; int reserved = 0; u64 reserved_space; u64 page_start; @@ -8858,14 +8859,14 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) * end up waiting indefinitely to get a lock on the page currently * being processed by btrfs_page_mkwrite() function. */ - ret = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, + err = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, reserved_space); - if (!ret) { - ret = file_update_time(vmf->vma->vm_file); + if (!err) { + err = file_update_time(vmf->vma->vm_file); reserved = 1; } - if (ret) { - if (ret == -ENOMEM) + if (err) { + if (err == -ENOMEM) ret = VM_FAULT_OOM; else /* -ENOSPC, -EIO, etc */ ret = VM_FAULT_SIGBUS; @@ -8927,9 +8928,9 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, 0, 0, &cached_state); - ret = btrfs_set_extent_delalloc(inode, page_start, end, 0, + err = btrfs_set_extent_delalloc(inode, page_start, end, 0, &cached_state, 0); - if (ret) { + if (err) { unlock_extent_cached(io_tree, page_start, page_end, &cached_state); ret = VM_FAULT_SIGBUS; -- 2.17.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: hch@lst.de (Christoph Hellwig) Date: Wed, 16 May 2018 07:43:40 +0200 Subject: [PATCH 06/14] btrfs: separate errno from VM_FAULT_* values In-Reply-To: <20180516054348.15950-1-hch@lst.de> References: <20180516054348.15950-1-hch@lst.de> Message-ID: <20180516054348.15950-7-hch@lst.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Signed-off-by: Christoph Hellwig --- fs/btrfs/ctree.h | 2 +- fs/btrfs/inode.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 1485cd130e2b..02a0de73c1d1 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -3203,7 +3203,7 @@ int btrfs_merge_bio_hook(struct page *page, unsigned long offset, size_t size, struct bio *bio, unsigned long bio_flags); void btrfs_set_range_writeback(void *private_data, u64 start, u64 end); -int btrfs_page_mkwrite(struct vm_fault *vmf); +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf); int btrfs_readpage(struct file *file, struct page *page); void btrfs_evict_inode(struct inode *inode); int btrfs_write_inode(struct inode *inode, struct writeback_control *wbc); diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index ec9db248c499..f4f03f0f4556 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -8824,7 +8824,7 @@ static void btrfs_invalidatepage(struct page *page, unsigned int offset, * beyond EOF, then the page is guaranteed safe against truncation until we * unlock the page. */ -int btrfs_page_mkwrite(struct vm_fault *vmf) +vm_fault_t btrfs_page_mkwrite(struct vm_fault *vmf) { struct page *page = vmf->page; struct inode *inode = file_inode(vmf->vma->vm_file); @@ -8836,7 +8836,8 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) char *kaddr; unsigned long zero_start; loff_t size; - int ret; + vm_fault_t ret; + int err; int reserved = 0; u64 reserved_space; u64 page_start; @@ -8858,14 +8859,14 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) * end up waiting indefinitely to get a lock on the page currently * being processed by btrfs_page_mkwrite() function. */ - ret = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, + err = btrfs_delalloc_reserve_space(inode, &data_reserved, page_start, reserved_space); - if (!ret) { - ret = file_update_time(vmf->vma->vm_file); + if (!err) { + err = file_update_time(vmf->vma->vm_file); reserved = 1; } - if (ret) { - if (ret == -ENOMEM) + if (err) { + if (err == -ENOMEM) ret = VM_FAULT_OOM; else /* -ENOSPC, -EIO, etc */ ret = VM_FAULT_SIGBUS; @@ -8927,9 +8928,9 @@ int btrfs_page_mkwrite(struct vm_fault *vmf) EXTENT_DO_ACCOUNTING | EXTENT_DEFRAG, 0, 0, &cached_state); - ret = btrfs_set_extent_delalloc(inode, page_start, end, 0, + err = btrfs_set_extent_delalloc(inode, page_start, end, 0, &cached_state, 0); - if (ret) { + if (err) { unlock_extent_cached(io_tree, page_start, page_end, &cached_state); ret = VM_FAULT_SIGBUS; -- 2.17.0