diff for duplicates of <1462203935.11211.15.camel@kernel.org> diff --git a/a/1.txt b/N1/1.txt index 4836b3d..12c5459 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -78,3 +78,9 @@ Ok. So check the flags directly where needed? > block" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html + +-- +To unsubscribe, send a message with 'unsubscribe linux-mm' in +the body to majordomo@kvack.org. For more info on Linux MM, +see: http://www.linux-mm.org/ . +Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N1/content_digest index ed44517..aecdffb 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -103,6 +103,12 @@ "> To unsubscribe from this list: send the line \"unsubscribe linux-\n" "> block\" in\n" "> the body of a message to majordomo@vger.kernel.org\n" - "> More majordomo info at\302\240\302\240http://vger.kernel.org/majordomo-info.html" + "> More majordomo info at\302\240\302\240http://vger.kernel.org/majordomo-info.html\n" + "\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -f657c5bdd149716cff383332a07735e8e72b37c3a60401a5f354440a89a13baf +e5f2c3c231387f69121e3c266c60e83b1b2a48f533d381e7cc2365d24d80e53f
diff --git a/a/1.txt b/N2/1.txt index 4836b3d..306b6d3 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -78,3 +78,8 @@ Ok. So check the flags directly where needed? > block" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html + +_______________________________________________ +xfs mailing list +xfs@oss.sgi.com +http://oss.sgi.com/mailman/listinfo/xfs diff --git a/a/content_digest b/N2/content_digest index ed44517..8217df0 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -6,22 +6,21 @@ "Date\0Mon, 02 May 2016 09:45:35 -0600\0" "To\0Christoph Hellwig <hch@infradead.org>" " Vishal Verma <vishal.l.verma@intel.com>\0" - "Cc\0linux-nvdimm@ml01.01.org" - linux-fsdevel@vger.kernel.org - linux-block@vger.kernel.org - xfs@oss.sgi.com - linux-ext4@vger.kernel.org - linux-mm@kvack.org - Matthew Wilcox <matthew@wil.cx> - Ross Zwisler <ross.zwisler@linux.intel.com> - Dan Williams <dan.j.williams@intel.com> - Dave Chinner <david@fromorbit.com> + "Cc\0Jens Axboe <axboe@fb.com>" Jan Kara <jack@suse.cz> - Jens Axboe <axboe@fb.com> - Al Viro <viro@zeniv.linux.org.uk> Andrew Morton <akpm@linux-foundation.org> + Matthew Wilcox <matthew@wil.cx> + linux-nvdimm@ml01.01.org linux-kernel@vger.kernel.org - " Jeff Moyer <jmoyer@redhat.com>\0" + xfs@oss.sgi.com + linux-block@vger.kernel.org + linux-mm@kvack.org + Jeff Moyer <jmoyer@redhat.com> + Al Viro <viro@zeniv.linux.org.uk> + linux-fsdevel@vger.kernel.org + Ross Zwisler <ross.zwisler@linux.intel.com> + linux-ext4@vger.kernel.org + " Dan Williams <dan.j.williams@intel.com>\0" "\00:1\0" "b\0" "On Mon, 2016-05-02 at 07:56 -0700, Christoph Hellwig wrote:\n" @@ -103,6 +102,11 @@ "> To unsubscribe from this list: send the line \"unsubscribe linux-\n" "> block\" in\n" "> the body of a message to majordomo@vger.kernel.org\n" - "> More majordomo info at\302\240\302\240http://vger.kernel.org/majordomo-info.html" + "> More majordomo info at\302\240\302\240http://vger.kernel.org/majordomo-info.html\n" + "\n" + "_______________________________________________\n" + "xfs mailing list\n" + "xfs@oss.sgi.com\n" + http://oss.sgi.com/mailman/listinfo/xfs -f657c5bdd149716cff383332a07735e8e72b37c3a60401a5f354440a89a13baf +93201b759e935f061fb1240a6fc700f4f5a231ad7d39ab5020cfa71de2967a47
diff --git a/a/1.txt b/N3/1.txt index 4836b3d..37f5e38 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -5,31 +5,31 @@ On Mon, 2016-05-02 at 07:56 -0700, Christoph Hellwig wrote: > > +++ b/fs/block_dev.c > > @@ -167,12 +167,21 @@ blkdev_direct_IO(struct kiocb *iocb, struct > > iov_iter *iter, loff_t offset) -> > struct file *file = iocb->ki_filp; -> > struct inode *inode = bdev_file_inode(file); -> > +> > A struct file *file = iocb->ki_filp; +> > A struct inode *inode = bdev_file_inode(file); +> > A > > - if (IS_DAX(inode)) > > + if (iocb_is_direct(iocb)) > > + return __blockdev_direct_IO(iocb, inode, > > I_BDEV(inode), iter, -> > + offset, +> > + A A A A offset, > > blkdev_get_block, NULL, -> > + NULL, +> > + A A A A NULL, > > DIO_SKIP_DIO_COUNT); > > + else if (iocb_is_dax(iocb)) -> > return dax_do_io(iocb, inode, iter, offset, +> > A return dax_do_io(iocb, inode, iter, offset, > > blkdev_get_block, -> > NULL, DIO_SKIP_DIO_COUNT); +> > A NULL, DIO_SKIP_DIO_COUNT); > > - return __blockdev_direct_IO(iocb, inode, I_BDEV(inode), > > iter, offset, -> > - blkdev_get_block, NULL, NULL, -> > - DIO_SKIP_DIO_COUNT); +> > - A A A A blkdev_get_block, NULL, NULL, +> > - A A A A DIO_SKIP_DIO_COUNT); > > + else { > > + /* -> > + * If we're in the direct_IO path, either the +> > + A * If we're in the direct_IO path, either the > > IOCB_DIRECT or -> > + * IOCB_DAX flags must be set. -> > + */ +> > + A * IOCB_DAX flags must be set. +> > + A */ > > + WARN_ONCE(1, "Kernel Bug with iocb flags\n"); > > + return -ENXIO; > > + } @@ -44,12 +44,12 @@ But I'm happy to remove it. > > --- a/fs/xfs/xfs_file.c > > +++ b/fs/xfs/xfs_file.c > > @@ -300,7 +300,7 @@ xfs_file_read_iter( -> > -> > XFS_STATS_INC(mp, xs_read_calls); -> > +> > A +> > A XFS_STATS_INC(mp, xs_read_calls); +> > A > > - if (unlikely(iocb->ki_flags & IOCB_DIRECT)) > > + if (unlikely(iocb->ki_flags & (IOCB_DIRECT | IOCB_DAX))) -> > ioflags |= XFS_IO_ISDIRECT; +> > A ioflags |= XFS_IO_ISDIRECT; > please also add a XFS_IO_ISDAX flag to propagate the information > properly and allow tracing to display the actual I/O type. @@ -58,7 +58,7 @@ Will do. > > > > > +static inline bool iocb_is_dax(struct kiocb *iocb) -> > { +> > A { > > + return IS_DAX(file_inode(iocb->ki_filp)) && > > + (iocb->ki_flags & IOCB_DAX); > > +} @@ -66,7 +66,7 @@ Will do. > > +static inline bool iocb_is_direct(struct kiocb *iocb) > > +{ > > + return iocb->ki_flags & IOCB_DIRECT; -> > } +> > A } > No need for these helpers - especially as IOCB_DAX should never be > set > if IS_DAX is false. @@ -77,4 +77,10 @@ Ok. So check the flags directly where needed? > To unsubscribe from this list: send the line "unsubscribe linux- > block" in > the body of a message to majordomo@vger.kernel.org -> More majordomo info at http://vger.kernel.org/majordomo-info.html +> More majordomo info atA A http://vger.kernel.org/majordomo-info.html + +-- +To unsubscribe, send a message with 'unsubscribe linux-mm' in +the body to majordomo@kvack.org. For more info on Linux MM, +see: http://www.linux-mm.org/ . +Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N3/content_digest index ed44517..b7bb11a 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -31,31 +31,31 @@ "> > +++ b/fs/block_dev.c\n" "> > @@ -167,12 +167,21 @@ blkdev_direct_IO(struct kiocb *iocb, struct\n" "> > iov_iter *iter, loff_t offset)\n" - "> > \302\240\tstruct file *file = iocb->ki_filp;\n" - "> > \302\240\tstruct inode *inode = bdev_file_inode(file);\n" - "> > \302\240\n" + "> > A \tstruct file *file = iocb->ki_filp;\n" + "> > A \tstruct inode *inode = bdev_file_inode(file);\n" + "> > A \n" "> > -\tif (IS_DAX(inode))\n" "> > +\tif (iocb_is_direct(iocb))\n" "> > +\t\treturn __blockdev_direct_IO(iocb, inode,\n" "> > I_BDEV(inode), iter,\n" - "> > +\t\t\t\t\t\302\240\302\240\302\240\302\240offset,\n" + "> > +\t\t\t\t\tA A A A offset,\n" "> > blkdev_get_block, NULL,\n" - "> > +\t\t\t\t\t\302\240\302\240\302\240\302\240NULL,\n" + "> > +\t\t\t\t\tA A A A NULL,\n" "> > DIO_SKIP_DIO_COUNT);\n" "> > +\telse if (iocb_is_dax(iocb))\n" - "> > \302\240\t\treturn dax_do_io(iocb, inode, iter, offset,\n" + "> > A \t\treturn dax_do_io(iocb, inode, iter, offset,\n" "> > blkdev_get_block,\n" - "> > \302\240\t\t\t\tNULL, DIO_SKIP_DIO_COUNT);\n" + "> > A \t\t\t\tNULL, DIO_SKIP_DIO_COUNT);\n" "> > -\treturn __blockdev_direct_IO(iocb, inode, I_BDEV(inode),\n" "> > iter, offset,\n" - "> > -\t\t\t\t\302\240\302\240\302\240\302\240blkdev_get_block, NULL, NULL,\n" - "> > -\t\t\t\t\302\240\302\240\302\240\302\240DIO_SKIP_DIO_COUNT);\n" + "> > -\t\t\t\tA A A A blkdev_get_block, NULL, NULL,\n" + "> > -\t\t\t\tA A A A DIO_SKIP_DIO_COUNT);\n" "> > +\telse {\n" "> > +\t\t/*\n" - "> > +\t\t\302\240* If we're in the direct_IO path, either the\n" + "> > +\t\tA * If we're in the direct_IO path, either the\n" "> > IOCB_DIRECT or\n" - "> > +\t\t\302\240* IOCB_DAX flags must be set.\n" - "> > +\t\t\302\240*/\n" + "> > +\t\tA * IOCB_DAX flags must be set.\n" + "> > +\t\tA */\n" "> > +\t\tWARN_ONCE(1, \"Kernel Bug with iocb flags\\n\");\n" "> > +\t\treturn -ENXIO;\n" "> > +\t}\n" @@ -70,12 +70,12 @@ "> > --- a/fs/xfs/xfs_file.c\n" "> > +++ b/fs/xfs/xfs_file.c\n" "> > @@ -300,7 +300,7 @@ xfs_file_read_iter(\n" - "> > \302\240\n" - "> > \302\240\tXFS_STATS_INC(mp, xs_read_calls);\n" - "> > \302\240\n" + "> > A \n" + "> > A \tXFS_STATS_INC(mp, xs_read_calls);\n" + "> > A \n" "> > -\tif (unlikely(iocb->ki_flags & IOCB_DIRECT))\n" "> > +\tif (unlikely(iocb->ki_flags & (IOCB_DIRECT | IOCB_DAX)))\n" - "> > \302\240\t\tioflags |= XFS_IO_ISDIRECT;\n" + "> > A \t\tioflags |= XFS_IO_ISDIRECT;\n" "> please also add a XFS_IO_ISDAX flag to propagate the information\n" "> properly and allow tracing to display the actual I/O type.\n" "\n" @@ -84,7 +84,7 @@ "> \n" "> > \n" "> > +static inline bool iocb_is_dax(struct kiocb *iocb)\n" - "> > \302\240{\n" + "> > A {\n" "> > +\treturn IS_DAX(file_inode(iocb->ki_filp)) &&\n" "> > +\t\t(iocb->ki_flags & IOCB_DAX);\n" "> > +}\n" @@ -92,7 +92,7 @@ "> > +static inline bool iocb_is_direct(struct kiocb *iocb)\n" "> > +{\n" "> > +\treturn iocb->ki_flags & IOCB_DIRECT;\n" - "> > \302\240}\n" + "> > A }\n" "> No need for these helpers - especially as IOCB_DAX should never be\n" "> set\n" "> if IS_DAX is false.\n" @@ -103,6 +103,12 @@ "> To unsubscribe from this list: send the line \"unsubscribe linux-\n" "> block\" in\n" "> the body of a message to majordomo@vger.kernel.org\n" - "> More majordomo info at\302\240\302\240http://vger.kernel.org/majordomo-info.html" + "> More majordomo info atA A http://vger.kernel.org/majordomo-info.html\n" + "\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -f657c5bdd149716cff383332a07735e8e72b37c3a60401a5f354440a89a13baf +fecf04c61f54431de5b34fd4680c7f2feebcb3621d0afb420dddfcf30df1542d
diff --git a/a/content_digest b/N4/content_digest index ed44517..6b1ab48 100644 --- a/a/content_digest +++ b/N4/content_digest @@ -12,7 +12,7 @@ xfs@oss.sgi.com linux-ext4@vger.kernel.org linux-mm@kvack.org - Matthew Wilcox <matthew@wil.cx> + Matthew Wilcox <matthew@freeurl.abc188.com> Ross Zwisler <ross.zwisler@linux.intel.com> Dan Williams <dan.j.williams@intel.com> Dave Chinner <david@fromorbit.com> @@ -105,4 +105,4 @@ "> the body of a message to majordomo@vger.kernel.org\n" "> More majordomo info at\302\240\302\240http://vger.kernel.org/majordomo-info.html" -f657c5bdd149716cff383332a07735e8e72b37c3a60401a5f354440a89a13baf +2273c28dc16e9934892abefbc5bdc026a40ac5140dd4e6f00ae99def22ad8f37
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.