From: Jan Kara <jack@suse.cz>
To: linux-fsdevel@vger.kernel.org
Cc: linux-nvdimm@lists.01.org,
Dan Williams <dan.j.williams@intel.com>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
Jan Kara <jack@suse.cz>
Subject: [PATCH 1/6] dax: Do not warn about BH_New buffers
Date: Tue, 27 Sep 2016 18:43:30 +0200 [thread overview]
Message-ID: <1474994615-29553-2-git-send-email-jack@suse.cz> (raw)
In-Reply-To: <1474994615-29553-1-git-send-email-jack@suse.cz>
Filesystems will return BH_New buffers to dax code to indicate freshly
allocated blocks which will then trigger synchronization of file
mappings in page tables with actual block mappings. So do not warn about
returned BH_New buffers.
Signed-off-by: Jan Kara <jack@suse.cz>
---
fs/dax.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
index 233f548d298e..1542653e8aa1 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -158,8 +158,6 @@ static ssize_t dax_io(struct inode *inode, struct iov_iter *iter,
.addr = ERR_PTR(-EIO),
};
unsigned blkbits = inode->i_blkbits;
- sector_t file_blks = (i_size_read(inode) + (1 << blkbits) - 1)
- >> blkbits;
if (rw == READ)
end = min(end, i_size_read(inode));
@@ -186,9 +184,8 @@ static ssize_t dax_io(struct inode *inode, struct iov_iter *iter,
* We allow uninitialized buffers for writes
* beyond EOF as those cannot race with faults
*/
- WARN_ON_ONCE(
- (buffer_new(bh) && block < file_blks) ||
- (rw == WRITE && buffer_unwritten(bh)));
+ WARN_ON_ONCE(rw == WRITE &&
+ buffer_unwritten(bh));
} else {
unsigned done = bh->b_size -
(bh_max - (pos - first));
@@ -985,7 +982,7 @@ int dax_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
}
/* Filesystem should not return unwritten buffers to us! */
- WARN_ON_ONCE(buffer_unwritten(&bh) || buffer_new(&bh));
+ WARN_ON_ONCE(buffer_unwritten(&bh));
error = dax_insert_mapping(mapping, bh.b_bdev, to_sector(&bh, inode),
bh.b_size, &entry, vma, vmf);
unlock_entry:
@@ -1094,7 +1091,7 @@ int dax_pmd_fault(struct vm_area_struct *vma, unsigned long address,
if (get_block(inode, block, &bh, 1) != 0)
return VM_FAULT_SIGBUS;
alloc = true;
- WARN_ON_ONCE(buffer_unwritten(&bh) || buffer_new(&bh));
+ WARN_ON_ONCE(buffer_unwritten(&bh));
}
bdev = bh.b_bdev;
--
2.6.6
next prev parent reply other threads:[~2016-09-27 16:43 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-27 16:43 [PATCH 0/6] dax: Page invalidation fixes Jan Kara
2016-09-27 16:43 ` Jan Kara [this message]
2016-09-30 8:53 ` [PATCH 1/6] dax: Do not warn about BH_New buffers Christoph Hellwig
2016-09-27 16:43 ` [PATCH 2/6] ext2: Return BH_New buffers for zeroed blocks Jan Kara
2016-09-30 8:53 ` Christoph Hellwig
2016-09-27 16:43 ` [PATCH 3/6] ext4: Remove clearing of BH_New bit " Jan Kara
2016-09-30 8:53 ` Christoph Hellwig
2016-09-27 16:43 ` [PATCH 4/6] xfs: Set BH_New for allocated DAX blocks in __xfs_get_blocks() Jan Kara
2016-09-27 17:01 ` Christoph Hellwig
2016-09-27 17:17 ` Jan Kara
2016-09-28 0:22 ` Dave Chinner
2016-10-03 14:44 ` Jan Kara
2016-09-28 2:13 ` Christoph Hellwig
2016-10-03 14:42 ` Jan Kara
2016-10-03 16:39 ` Christoph Hellwig
2016-09-27 16:43 ` [PATCH 5/6] mm: Invalidate DAX radix tree entries only if appropriate Jan Kara
2016-09-28 0:18 ` Dave Chinner
2016-10-03 14:52 ` Jan Kara
2016-09-30 8:57 ` Christoph Hellwig
2016-10-03 12:56 ` Jan Kara
2016-09-27 16:43 ` [PATCH 6/6] dax: Avoid page invalidation races and unnecessary radix tree traversals Jan Kara
2016-09-28 0:20 ` Dave Chinner
2016-10-03 14:58 ` Jan Kara
2016-10-03 23:40 ` Dave Chinner
2016-09-30 8:55 ` Christoph Hellwig
2016-10-03 15:02 ` Jan Kara
2016-09-30 8:59 ` [PATCH 0/6] dax: Page invalidation fixes Christoph Hellwig
2016-10-03 13:01 ` 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=1474994615-29553-2-git-send-email-jack@suse.cz \
--to=jack@suse.cz \
--cc=dan.j.williams@intel.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nvdimm@lists.01.org \
--cc=ross.zwisler@linux.intel.com \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).