From: Jan Kara <jack@suse.cz> To: <linux-fsdevel@vger.kernel.org> Cc: <linux-ext4@vger.kernel.org>, <linux-xfs@vger.kernel.org>, Christoph Hellwig <hch@infradead.org>, Dan Williams <dan.j.williams@intel.com>, Ross Zwisler <ross.zwisler@linux.intel.com>, Ted Tso <tytso@mit.edu>, "Darrick J. Wong" <darrick.wong@oracle.com>, Jan Kara <jack@suse.cz> Subject: [PATCH 15/19] ext4: Simplify error handling in ext4_dax_huge_fault() Date: Wed, 11 Oct 2017 22:05:59 +0200 [thread overview] Message-ID: <20171011200603.27442-16-jack@suse.cz> (raw) In-Reply-To: <20171011200603.27442-1-jack@suse.cz> If transaction starting fails, just bail out of the function immediately instead of checking for that condition throughout the function. Signed-off-by: Jan Kara <jack@suse.cz> --- fs/ext4/file.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 3cec0b95672f..208adfc3e673 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -302,16 +302,17 @@ static int ext4_dax_huge_fault(struct vm_fault *vmf, down_read(&EXT4_I(inode)->i_mmap_sem); handle = ext4_journal_start_sb(sb, EXT4_HT_WRITE_PAGE, EXT4_DATA_TRANS_BLOCKS(sb)); + if (IS_ERR(handle)) { + up_read(&EXT4_I(inode)->i_mmap_sem); + sb_end_pagefault(sb); + return VM_FAULT_SIGBUS; + } } else { down_read(&EXT4_I(inode)->i_mmap_sem); } - if (!IS_ERR(handle)) - result = dax_iomap_fault(vmf, pe_size, NULL, &ext4_iomap_ops); - else - result = VM_FAULT_SIGBUS; + result = dax_iomap_fault(vmf, pe_size, NULL, &ext4_iomap_ops); if (write) { - if (!IS_ERR(handle)) - ext4_journal_stop(handle); + ext4_journal_stop(handle); up_read(&EXT4_I(inode)->i_mmap_sem); sb_end_pagefault(sb); } else { -- 2.12.3
WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz> To: linux-fsdevel@vger.kernel.org Cc: linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, Christoph Hellwig <hch@infradead.org>, Dan Williams <dan.j.williams@intel.com>, Ross Zwisler <ross.zwisler@linux.intel.com>, Ted Tso <tytso@mit.edu>, "Darrick J. Wong" <darrick.wong@oracle.com>, Jan Kara <jack@suse.cz> Subject: [PATCH 15/19] ext4: Simplify error handling in ext4_dax_huge_fault() Date: Wed, 11 Oct 2017 22:05:59 +0200 [thread overview] Message-ID: <20171011200603.27442-16-jack@suse.cz> (raw) In-Reply-To: <20171011200603.27442-1-jack@suse.cz> If transaction starting fails, just bail out of the function immediately instead of checking for that condition throughout the function. Signed-off-by: Jan Kara <jack@suse.cz> --- fs/ext4/file.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 3cec0b95672f..208adfc3e673 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c @@ -302,16 +302,17 @@ static int ext4_dax_huge_fault(struct vm_fault *vmf, down_read(&EXT4_I(inode)->i_mmap_sem); handle = ext4_journal_start_sb(sb, EXT4_HT_WRITE_PAGE, EXT4_DATA_TRANS_BLOCKS(sb)); + if (IS_ERR(handle)) { + up_read(&EXT4_I(inode)->i_mmap_sem); + sb_end_pagefault(sb); + return VM_FAULT_SIGBUS; + } } else { down_read(&EXT4_I(inode)->i_mmap_sem); } - if (!IS_ERR(handle)) - result = dax_iomap_fault(vmf, pe_size, NULL, &ext4_iomap_ops); - else - result = VM_FAULT_SIGBUS; + result = dax_iomap_fault(vmf, pe_size, NULL, &ext4_iomap_ops); if (write) { - if (!IS_ERR(handle)) - ext4_journal_stop(handle); + ext4_journal_stop(handle); up_read(&EXT4_I(inode)->i_mmap_sem); sb_end_pagefault(sb); } else { -- 2.12.3
next prev parent reply other threads:[~2017-10-11 20:06 UTC|newest] Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-10-11 20:05 [PATCH 0/19 v3] dax, ext4, xfs: Synchronous page faults Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 01/19] mm: introduce MAP_SHARED_VALIDATE, a mechanism to safely define new mmap flags Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-13 7:12 ` Christoph Hellwig 2017-10-13 15:44 ` Dan Williams 2017-10-13 18:28 ` Dan Williams 2017-10-14 15:57 ` Williams, Dan J 2017-10-16 7:45 ` hch 2017-10-17 11:50 ` Jan Kara 2017-10-17 19:38 ` Dan Williams 2017-10-18 6:59 ` hch 2017-10-11 20:05 ` [PATCH 02/19] mm: Remove VM_FAULT_HWPOISON_LARGE_MASK Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 03/19] dax: Simplify arguments of dax_insert_mapping() Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 04/19] dax: Factor out getting of pfn out of iomap Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 05/19] dax: Create local variable for VMA in dax_iomap_pte_fault() Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 06/19] dax: Create local variable for vmf->flags & FAULT_FLAG_WRITE test Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 07/19] dax: Inline dax_insert_mapping() into the callsite Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 08/19] dax: Inline dax_pmd_insert_mapping() " Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 09/19] dax: Fix comment describing dax_iomap_fault() Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 10/19] dax: Allow dax_iomap_fault() to return pfn Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-11 20:05 ` [PATCH 11/19] dax: Allow tuning whether dax_insert_mapping_entry() dirties entry Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-13 7:12 ` Christoph Hellwig 2017-10-13 19:26 ` Ross Zwisler 2017-10-11 20:05 ` [PATCH 12/19] mm: Define MAP_SYNC and VM_SYNC flags Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-13 7:12 ` Christoph Hellwig 2017-10-13 19:44 ` Ross Zwisler 2017-10-16 15:37 ` Jan Kara 2017-10-11 20:05 ` [PATCH 13/19] dax, iomap: Add support for synchronous faults Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-13 7:14 ` Christoph Hellwig 2017-10-11 20:05 ` [PATCH 14/19] dax: Implement dax_finish_sync_fault() Jan Kara 2017-10-11 20:05 ` Jan Kara 2017-10-13 7:21 ` Christoph Hellwig 2017-10-16 15:43 ` Jan Kara 2017-10-13 20:06 ` Ross Zwisler 2017-10-11 20:05 ` Jan Kara [this message] 2017-10-11 20:05 ` [PATCH 15/19] ext4: Simplify error handling in ext4_dax_huge_fault() Jan Kara 2017-10-13 20:09 ` Ross Zwisler 2017-10-11 20:06 ` [PATCH 16/19] ext4: Support for synchronous DAX faults Jan Kara 2017-10-11 20:06 ` Jan Kara 2017-10-11 22:23 ` Dan Williams 2017-10-12 13:42 ` Jan Kara 2017-10-13 20:58 ` Ross Zwisler 2017-10-16 15:50 ` Jan Kara 2017-10-11 20:06 ` [PATCH 17/19] ext4: Add support for MAP_SYNC flag Jan Kara 2017-10-11 20:06 ` Jan Kara 2017-10-11 22:11 ` Dan Williams 2017-10-12 13:42 ` Jan Kara 2017-10-13 0:23 ` Dan Williams 2017-10-13 7:22 ` Christoph Hellwig 2017-10-13 15:52 ` Dan Williams 2017-10-17 11:30 ` Jan Kara 2017-10-13 7:21 ` Christoph Hellwig 2017-10-16 15:14 ` Jan Kara 2017-10-11 20:06 ` [PATCH 18/19] xfs: support for synchronous DAX faults Jan Kara 2017-10-11 20:06 ` Jan Kara 2017-10-11 20:06 ` [PATCH 19/19] xfs: Add support for MAP_SYNC flag Jan Kara 2017-10-11 20:06 ` Jan Kara 2017-10-11 22:54 ` Dan Williams 2017-10-11 23:02 ` Dan Williams 2017-10-13 7:28 ` Christoph Hellwig 2017-10-11 21:18 ` [PATCH 0/19 v3] dax, ext4, xfs: Synchronous page faults Dan Williams 2017-10-11 22:43 ` Dave Chinner 2017-10-12 1:18 ` Dan Williams 2017-10-13 22:53 ` Ross Zwisler 2017-10-16 15:12 ` Jan Kara
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20171011200603.27442-16-jack@suse.cz \ --to=jack@suse.cz \ --cc=dan.j.williams@intel.com \ --cc=darrick.wong@oracle.com \ --cc=hch@infradead.org \ --cc=linux-ext4@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-xfs@vger.kernel.org \ --cc=ross.zwisler@linux.intel.com \ --cc=tytso@mit.edu \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.