On 9/14/20 8:51 PM, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > If someone runs mkfs with rtinherit=1, a realtime volume configured, and > a protofile that creates a regular file in the filesystem, mkfs will > error out with "Function not implemented" because userspace doesn't know > how to allocate extents from the rt bitmap. Catch this specific case > and hand back a somewhat nicer explanation of what happened. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> hch has a point about "maybe we should fix it" but it seems like it's not somewhere we really need to spend development effort right now. Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > mkfs/proto.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > > diff --git a/mkfs/proto.c b/mkfs/proto.c > index 9db8fe2d6447..20a7cc3bb5d5 100644 > --- a/mkfs/proto.c > +++ b/mkfs/proto.c > @@ -244,6 +244,12 @@ newfile( > nb = XFS_B_TO_FSB(mp, len); > nmap = 1; > error = -libxfs_bmapi_write(tp, ip, 0, nb, 0, nb, &map, &nmap); > + if (error == ENOSYS && XFS_IS_REALTIME_INODE(ip)) { > + fprintf(stderr, > + _("%s: creating realtime files from proto file not supported.\n"), > + progname); > + exit(1); > + } > if (error) { > fail(_("error allocating space for a file"), error); > } >