From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.133]:58206 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752684AbeEPFo5 (ORCPT ); Wed, 16 May 2018 01:44:57 -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 12/14] lustre: separate errno from VM_FAULT_* values Date: Wed, 16 May 2018 07:43:46 +0200 Message-Id: <20180516054348.15950-13-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 --- .../staging/lustre/lustre/llite/llite_mmap.c | 37 +++++++------------ .../lustre/lustre/llite/vvp_internal.h | 2 +- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/drivers/staging/lustre/lustre/llite/llite_mmap.c b/drivers/staging/lustre/lustre/llite/llite_mmap.c index 214b07554e62..061d98871959 100644 --- a/drivers/staging/lustre/lustre/llite/llite_mmap.c +++ b/drivers/staging/lustre/lustre/llite/llite_mmap.c @@ -231,23 +231,18 @@ static int ll_page_mkwrite0(struct vm_area_struct *vma, struct page *vmpage, return result; } -static inline int to_fault_error(int result) +static inline vm_fault_t to_fault_error(int result) { switch (result) { case 0: - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - return result; } /** @@ -261,7 +256,7 @@ static inline int to_fault_error(int result) * \retval VM_FAULT_ERROR on general error * \retval NOPAGE_OOM not have memory for allocate new page */ -static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) +static vm_fault_t ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) { struct lu_env *env; struct cl_io *io; @@ -269,7 +264,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) struct page *vmpage; unsigned long ra_flags; int result = 0; - int fault_ret = 0; + vm_fault_t fault_ret = 0; u16 refcheck; env = cl_env_get(&refcheck); @@ -323,7 +318,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) return fault_ret; } -static int ll_fault(struct vm_fault *vmf) +static vm_fault_t ll_fault(struct vm_fault *vmf) { int count = 0; bool printed = false; @@ -364,7 +359,7 @@ static int ll_fault(struct vm_fault *vmf) return result; } -static int ll_page_mkwrite(struct vm_fault *vmf) +static vm_fault_t ll_page_mkwrite(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; int count = 0; @@ -390,22 +385,16 @@ static int ll_page_mkwrite(struct vm_fault *vmf) switch (result) { case 0: LASSERT(PageLocked(vmf->page)); - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -ENODATA: case -EAGAIN: case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - - return result; } /** diff --git a/drivers/staging/lustre/lustre/llite/vvp_internal.h b/drivers/staging/lustre/lustre/llite/vvp_internal.h index 7d3abb43584a..c194966a3d82 100644 --- a/drivers/staging/lustre/lustre/llite/vvp_internal.h +++ b/drivers/staging/lustre/lustre/llite/vvp_internal.h @@ -83,7 +83,7 @@ struct vvp_io { /** * fault API used bitflags for return code. */ - unsigned int ft_flags; + vm_fault_t ft_flags; /** * check that flags are from filemap_fault */ -- 2.17.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: [PATCH 12/14] lustre: separate errno from VM_FAULT_* values Date: Wed, 16 May 2018 07:43:46 +0200 Message-ID: <20180516054348.15950-13-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+Ci0tLQogLi4uL3N0 YWdpbmcvbHVzdHJlL2x1c3RyZS9sbGl0ZS9sbGl0ZV9tbWFwLmMgIHwgMzcgKysrKysrKy0tLS0t LS0tLS0tLQogLi4uL2x1c3RyZS9sdXN0cmUvbGxpdGUvdnZwX2ludGVybmFsLmggICAgICAgIHwg IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2x1c3RyZS9sdXN0cmUvbGxpdGUvbGxpdGVf bW1hcC5jIGIvZHJpdmVycy9zdGFnaW5nL2x1c3RyZS9sdXN0cmUvbGxpdGUvbGxpdGVfbW1hcC5j CmluZGV4IDIxNGIwNzU1NGU2Mi4uMDYxZDk4ODcxOTU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0 YWdpbmcvbHVzdHJlL2x1c3RyZS9sbGl0ZS9sbGl0ZV9tbWFwLmMKKysrIGIvZHJpdmVycy9zdGFn aW5nL2x1c3RyZS9sdXN0cmUvbGxpdGUvbGxpdGVfbW1hcC5jCkBAIC0yMzEsMjMgKzIzMSwxOCBA QCBzdGF0aWMgaW50IGxsX3BhZ2VfbWt3cml0ZTAoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEs IHN0cnVjdCBwYWdlICp2bXBhZ2UsCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGlubGlu ZSBpbnQgdG9fZmF1bHRfZXJyb3IoaW50IHJlc3VsdCkKK3N0YXRpYyBpbmxpbmUgdm1fZmF1bHRf dCB0b19mYXVsdF9lcnJvcihpbnQgcmVzdWx0KQogewogCXN3aXRjaCAocmVzdWx0KSB7CiAJY2Fz ZSAwOgotCQlyZXN1bHQgPSBWTV9GQVVMVF9MT0NLRUQ7Ci0JCWJyZWFrOworCQlyZXR1cm4gVk1f RkFVTFRfTE9DS0VEOwogCWNhc2UgLUVGQVVMVDoKLQkJcmVzdWx0ID0gVk1fRkFVTFRfTk9QQUdF OwotCQlicmVhazsKKwkJcmV0dXJuIFZNX0ZBVUxUX05PUEFHRTsKIAljYXNlIC1FTk9NRU06Ci0J CXJlc3VsdCA9IFZNX0ZBVUxUX09PTTsKLQkJYnJlYWs7CisJCXJldHVybiBWTV9GQVVMVF9PT007 CiAJZGVmYXVsdDoKLQkJcmVzdWx0ID0gVk1fRkFVTFRfU0lHQlVTOwotCQlicmVhazsKKwkJcmV0 dXJuIFZNX0ZBVUxUX1NJR0JVUzsKIAl9Ci0JcmV0dXJuIHJlc3VsdDsKIH0KIAogLyoqCkBAIC0y NjEsNyArMjU2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgdG9fZmF1bHRfZXJyb3IoaW50IHJlc3Vs dCkKICAqIFxyZXR2YWwgVk1fRkFVTFRfRVJST1Igb24gZ2VuZXJhbCBlcnJvcgogICogXHJldHZh bCBOT1BBR0VfT09NIG5vdCBoYXZlIG1lbW9yeSBmb3IgYWxsb2NhdGUgbmV3IHBhZ2UKICAqLwot c3RhdGljIGludCBsbF9mYXVsdDAoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCB2 bV9mYXVsdCAqdm1mKQorc3RhdGljIHZtX2ZhdWx0X3QgbGxfZmF1bHQwKHN0cnVjdCB2bV9hcmVh X3N0cnVjdCAqdm1hLCBzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIHsKIAlzdHJ1Y3QgbHVfZW52CSAg ICplbnY7CiAJc3RydWN0IGNsX2lvCSAgICAqaW87CkBAIC0yNjksNyArMjY0LDcgQEAgc3RhdGlj IGludCBsbF9mYXVsdDAoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCB2bV9mYXVs dCAqdm1mKQogCXN0cnVjdCBwYWdlCSAgICAgKnZtcGFnZTsKIAl1bnNpZ25lZCBsb25nCSAgICBy YV9mbGFnczsKIAlpbnQJCSAgICAgIHJlc3VsdCA9IDA7Ci0JaW50CQkgICAgICBmYXVsdF9yZXQg PSAwOworCXZtX2ZhdWx0X3QJICAgICAgZmF1bHRfcmV0ID0gMDsKIAl1MTYgcmVmY2hlY2s7CiAK IAllbnYgPSBjbF9lbnZfZ2V0KCZyZWZjaGVjayk7CkBAIC0zMjMsNyArMzE4LDcgQEAgc3RhdGlj IGludCBsbF9mYXVsdDAoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCB2bV9mYXVs dCAqdm1mKQogCXJldHVybiBmYXVsdF9yZXQ7CiB9CiAKLXN0YXRpYyBpbnQgbGxfZmF1bHQoc3Ry dWN0IHZtX2ZhdWx0ICp2bWYpCitzdGF0aWMgdm1fZmF1bHRfdCBsbF9mYXVsdChzdHJ1Y3Qgdm1f ZmF1bHQgKnZtZikKIHsKIAlpbnQgY291bnQgPSAwOwogCWJvb2wgcHJpbnRlZCA9IGZhbHNlOwpA QCAtMzY0LDcgKzM1OSw3IEBAIHN0YXRpYyBpbnQgbGxfZmF1bHQoc3RydWN0IHZtX2ZhdWx0ICp2 bWYpCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGludCBsbF9wYWdlX21rd3JpdGUoc3Ry dWN0IHZtX2ZhdWx0ICp2bWYpCitzdGF0aWMgdm1fZmF1bHRfdCBsbF9wYWdlX21rd3JpdGUoc3Ry dWN0IHZtX2ZhdWx0ICp2bWYpCiB7CiAJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEgPSB2bWYt PnZtYTsKIAlpbnQgY291bnQgPSAwOwpAQCAtMzkwLDIyICszODUsMTYgQEAgc3RhdGljIGludCBs bF9wYWdlX21rd3JpdGUoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJc3dpdGNoIChyZXN1bHQpIHsK IAljYXNlIDA6CiAJCUxBU1NFUlQoUGFnZUxvY2tlZCh2bWYtPnBhZ2UpKTsKLQkJcmVzdWx0ID0g Vk1fRkFVTFRfTE9DS0VEOwotCQlicmVhazsKKwkJcmV0dXJuIFZNX0ZBVUxUX0xPQ0tFRDsKIAlj YXNlIC1FTk9EQVRBOgogCWNhc2UgLUVBR0FJTjoKIAljYXNlIC1FRkFVTFQ6Ci0JCXJlc3VsdCA9 IFZNX0ZBVUxUX05PUEFHRTsKLQkJYnJlYWs7CisJCXJldHVybiBWTV9GQVVMVF9OT1BBR0U7CiAJ Y2FzZSAtRU5PTUVNOgotCQlyZXN1bHQgPSBWTV9GQVVMVF9PT007Ci0JCWJyZWFrOworCQlyZXR1 cm4gVk1fRkFVTFRfT09NOwogCWRlZmF1bHQ6Ci0JCXJlc3VsdCA9IFZNX0ZBVUxUX1NJR0JVUzsK LQkJYnJlYWs7CisJCXJldHVybiBWTV9GQVVMVF9TSUdCVVM7CiAJfQotCi0JcmV0dXJuIHJlc3Vs dDsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbHVzdHJlL2x1c3RyZS9s bGl0ZS92dnBfaW50ZXJuYWwuaCBiL2RyaXZlcnMvc3RhZ2luZy9sdXN0cmUvbHVzdHJlL2xsaXRl L3Z2cF9pbnRlcm5hbC5oCmluZGV4IDdkM2FiYjQzNTg0YS4uYzE5NDk2NmEzZDgyIDEwMDY0NAot LS0gYS9kcml2ZXJzL3N0YWdpbmcvbHVzdHJlL2x1c3RyZS9sbGl0ZS92dnBfaW50ZXJuYWwuaAor KysgYi9kcml2ZXJzL3N0YWdpbmcvbHVzdHJlL2x1c3RyZS9sbGl0ZS92dnBfaW50ZXJuYWwuaApA QCAtODMsNyArODMsNyBAQCBzdHJ1Y3QgdnZwX2lvIHsKIAkJCS8qKgogCQkJICogZmF1bHQgQVBJ IHVzZWQgYml0ZmxhZ3MgZm9yIHJldHVybiBjb2RlLgogCQkJICovCi0JCQl1bnNpZ25lZCBpbnQg ICAgZnRfZmxhZ3M7CisJCQl2bV9mYXVsdF90ICAgIGZ0X2ZsYWdzOwogCQkJLyoqCiAJCQkgKiBj aGVjayB0aGF0IGZsYWdzIGFyZSBmcm9tIGZpbGVtYXBfZmF1bHQKIAkJCSAqLwotLSAKMi4xNy4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Wed, 16 May 2018 07:43:46 +0200 Subject: [Ocfs2-devel] [PATCH 12/14] lustre: 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-13-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 --- .../staging/lustre/lustre/llite/llite_mmap.c | 37 +++++++------------ .../lustre/lustre/llite/vvp_internal.h | 2 +- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/drivers/staging/lustre/lustre/llite/llite_mmap.c b/drivers/staging/lustre/lustre/llite/llite_mmap.c index 214b07554e62..061d98871959 100644 --- a/drivers/staging/lustre/lustre/llite/llite_mmap.c +++ b/drivers/staging/lustre/lustre/llite/llite_mmap.c @@ -231,23 +231,18 @@ static int ll_page_mkwrite0(struct vm_area_struct *vma, struct page *vmpage, return result; } -static inline int to_fault_error(int result) +static inline vm_fault_t to_fault_error(int result) { switch (result) { case 0: - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - return result; } /** @@ -261,7 +256,7 @@ static inline int to_fault_error(int result) * \retval VM_FAULT_ERROR on general error * \retval NOPAGE_OOM not have memory for allocate new page */ -static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) +static vm_fault_t ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) { struct lu_env *env; struct cl_io *io; @@ -269,7 +264,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) struct page *vmpage; unsigned long ra_flags; int result = 0; - int fault_ret = 0; + vm_fault_t fault_ret = 0; u16 refcheck; env = cl_env_get(&refcheck); @@ -323,7 +318,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) return fault_ret; } -static int ll_fault(struct vm_fault *vmf) +static vm_fault_t ll_fault(struct vm_fault *vmf) { int count = 0; bool printed = false; @@ -364,7 +359,7 @@ static int ll_fault(struct vm_fault *vmf) return result; } -static int ll_page_mkwrite(struct vm_fault *vmf) +static vm_fault_t ll_page_mkwrite(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; int count = 0; @@ -390,22 +385,16 @@ static int ll_page_mkwrite(struct vm_fault *vmf) switch (result) { case 0: LASSERT(PageLocked(vmf->page)); - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -ENODATA: case -EAGAIN: case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - - return result; } /** diff --git a/drivers/staging/lustre/lustre/llite/vvp_internal.h b/drivers/staging/lustre/lustre/llite/vvp_internal.h index 7d3abb43584a..c194966a3d82 100644 --- a/drivers/staging/lustre/lustre/llite/vvp_internal.h +++ b/drivers/staging/lustre/lustre/llite/vvp_internal.h @@ -83,7 +83,7 @@ struct vvp_io { /** * fault API used bitflags for return code. */ - unsigned int ft_flags; + vm_fault_t ft_flags; /** * check that flags are from filemap_fault */ -- 2.17.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Wed, 16 May 2018 07:43:46 +0200 Subject: [lustre-devel] [PATCH 12/14] lustre: 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-13-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 --- .../staging/lustre/lustre/llite/llite_mmap.c | 37 +++++++------------ .../lustre/lustre/llite/vvp_internal.h | 2 +- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/drivers/staging/lustre/lustre/llite/llite_mmap.c b/drivers/staging/lustre/lustre/llite/llite_mmap.c index 214b07554e62..061d98871959 100644 --- a/drivers/staging/lustre/lustre/llite/llite_mmap.c +++ b/drivers/staging/lustre/lustre/llite/llite_mmap.c @@ -231,23 +231,18 @@ static int ll_page_mkwrite0(struct vm_area_struct *vma, struct page *vmpage, return result; } -static inline int to_fault_error(int result) +static inline vm_fault_t to_fault_error(int result) { switch (result) { case 0: - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - return result; } /** @@ -261,7 +256,7 @@ static inline int to_fault_error(int result) * \retval VM_FAULT_ERROR on general error * \retval NOPAGE_OOM not have memory for allocate new page */ -static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) +static vm_fault_t ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) { struct lu_env *env; struct cl_io *io; @@ -269,7 +264,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) struct page *vmpage; unsigned long ra_flags; int result = 0; - int fault_ret = 0; + vm_fault_t fault_ret = 0; u16 refcheck; env = cl_env_get(&refcheck); @@ -323,7 +318,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) return fault_ret; } -static int ll_fault(struct vm_fault *vmf) +static vm_fault_t ll_fault(struct vm_fault *vmf) { int count = 0; bool printed = false; @@ -364,7 +359,7 @@ static int ll_fault(struct vm_fault *vmf) return result; } -static int ll_page_mkwrite(struct vm_fault *vmf) +static vm_fault_t ll_page_mkwrite(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; int count = 0; @@ -390,22 +385,16 @@ static int ll_page_mkwrite(struct vm_fault *vmf) switch (result) { case 0: LASSERT(PageLocked(vmf->page)); - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -ENODATA: case -EAGAIN: case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - - return result; } /** diff --git a/drivers/staging/lustre/lustre/llite/vvp_internal.h b/drivers/staging/lustre/lustre/llite/vvp_internal.h index 7d3abb43584a..c194966a3d82 100644 --- a/drivers/staging/lustre/lustre/llite/vvp_internal.h +++ b/drivers/staging/lustre/lustre/llite/vvp_internal.h @@ -83,7 +83,7 @@ struct vvp_io { /** * fault API used bitflags for return code. */ - unsigned int ft_flags; + vm_fault_t ft_flags; /** * check that flags are from filemap_fault */ -- 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:46 +0200 Subject: [PATCH 12/14] lustre: 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-13-hch@lst.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Signed-off-by: Christoph Hellwig --- .../staging/lustre/lustre/llite/llite_mmap.c | 37 +++++++------------ .../lustre/lustre/llite/vvp_internal.h | 2 +- 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/drivers/staging/lustre/lustre/llite/llite_mmap.c b/drivers/staging/lustre/lustre/llite/llite_mmap.c index 214b07554e62..061d98871959 100644 --- a/drivers/staging/lustre/lustre/llite/llite_mmap.c +++ b/drivers/staging/lustre/lustre/llite/llite_mmap.c @@ -231,23 +231,18 @@ static int ll_page_mkwrite0(struct vm_area_struct *vma, struct page *vmpage, return result; } -static inline int to_fault_error(int result) +static inline vm_fault_t to_fault_error(int result) { switch (result) { case 0: - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - return result; } /** @@ -261,7 +256,7 @@ static inline int to_fault_error(int result) * \retval VM_FAULT_ERROR on general error * \retval NOPAGE_OOM not have memory for allocate new page */ -static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) +static vm_fault_t ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) { struct lu_env *env; struct cl_io *io; @@ -269,7 +264,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) struct page *vmpage; unsigned long ra_flags; int result = 0; - int fault_ret = 0; + vm_fault_t fault_ret = 0; u16 refcheck; env = cl_env_get(&refcheck); @@ -323,7 +318,7 @@ static int ll_fault0(struct vm_area_struct *vma, struct vm_fault *vmf) return fault_ret; } -static int ll_fault(struct vm_fault *vmf) +static vm_fault_t ll_fault(struct vm_fault *vmf) { int count = 0; bool printed = false; @@ -364,7 +359,7 @@ static int ll_fault(struct vm_fault *vmf) return result; } -static int ll_page_mkwrite(struct vm_fault *vmf) +static vm_fault_t ll_page_mkwrite(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; int count = 0; @@ -390,22 +385,16 @@ static int ll_page_mkwrite(struct vm_fault *vmf) switch (result) { case 0: LASSERT(PageLocked(vmf->page)); - result = VM_FAULT_LOCKED; - break; + return VM_FAULT_LOCKED; case -ENODATA: case -EAGAIN: case -EFAULT: - result = VM_FAULT_NOPAGE; - break; + return VM_FAULT_NOPAGE; case -ENOMEM: - result = VM_FAULT_OOM; - break; + return VM_FAULT_OOM; default: - result = VM_FAULT_SIGBUS; - break; + return VM_FAULT_SIGBUS; } - - return result; } /** diff --git a/drivers/staging/lustre/lustre/llite/vvp_internal.h b/drivers/staging/lustre/lustre/llite/vvp_internal.h index 7d3abb43584a..c194966a3d82 100644 --- a/drivers/staging/lustre/lustre/llite/vvp_internal.h +++ b/drivers/staging/lustre/lustre/llite/vvp_internal.h @@ -83,7 +83,7 @@ struct vvp_io { /** * fault API used bitflags for return code. */ - unsigned int ft_flags; + vm_fault_t ft_flags; /** * check that flags are from filemap_fault */ -- 2.17.0