On Fri, Nov 17, 2017 at 12:40:21PM -0800, Darrick J. Wong wrote: > On Fri, Nov 17, 2017 at 01:25:23PM -0700, Ross Zwisler wrote: > > Add support for a new -S flag to xfs_io's mmap command. This opens the > > mapping with the (MAP_SYNC | MAP_SHARED_VALIDATE) flags instead of the > > standard MAP_SHARED flag. > > > > Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> > > Suggested-by: Dave Chinner <david@xxxxxxxxxxxxx> > > --- <> > > diff --git a/include/linux.h b/include/linux.h > > index 6ce344c..4ee03ed 100644 > > --- a/include/linux.h > > +++ b/include/linux.h > > @@ -327,4 +327,9 @@ fsmap_advance( > > #define HAVE_GETFSMAP > > #endif /* HAVE_GETFSMAP */ > > > > +#ifndef HAVE_MAP_SYNC > > +#define MAP_SYNC 0x80000 > > +#define MAP_SHARED_VALIDATE 0x3 > > +#endif /* HAVE_MAP_SYNC */ > > Hmm, what's the point of ifndef/define if you have an configure.ac check? I'm following the example of HAVE_GETFSMAP. It does a check to see if the headers have proper support in m4/package_libcdev.m4, then has code in this file to provide defines if they aren't provided in the system. > > diff --git a/io/mmap.c b/io/mmap.c > > index 7a8150e..520b037 100644 > > --- a/io/mmap.c > > +++ b/io/mmap.c > > @@ -42,7 +42,7 @@ print_mapping( > > int index, > > int braces) > > { > > - unsigned char buffer[8] = { 0 }; > > + char buffer[8] = { 0 }; > > int i; > > > > static struct { > > @@ -57,6 +57,10 @@ print_mapping( > > > > for (i = 0, p = pflags; p->prot != PROT_NONE; i++, p++) > > buffer[i] = (map->prot & p->prot) ? p->mode : '-'; > > + > > + if (map->map_sync) > > + sprintf(&buffer[i], " S"); > > Does buffer need enlarging here? Nope. The buffer is 8 chars, and the 'rwx\0' string only uses 4. "rwx S\0" uses 6, so we're still good to go. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html