Hi all, On Tue, 3 Sep 2024 12:41:08 +1000 Aleksa Sarai <cyphar@xxxxxxxxxx> wrote: > > On 2024-09-03, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > Hi all, > > > > After merging the vfs-brauner tree, today's linux-next build (native perf) > > failed like this: > > > > In file included from trace/beauty/fs_at_flags.c:21: > > perf/trace/beauty/generated/fs_at_flags_array.c:10:31: error: initialized field overwritten [-Werror=override-init] > > 10 | [ilog2(0x0001) + 1] = "RENAME_NOREPLACE", > > | ^~~~~~~~~~~~~~~~~~ > > perf/trace/beauty/generated/fs_at_flags_array.c:10:31: note: (near initialization for 'fs_at_flags[1]') > > perf/trace/beauty/generated/fs_at_flags_array.c:14:30: error: initialized field overwritten [-Werror=override-init] > > 14 | [ilog2(0x200) + 1] = "HANDLE_FID", > > | ^~~~~~~~~~~~ > > perf/trace/beauty/generated/fs_at_flags_array.c:14:30: note: (near initialization for 'fs_at_flags[10]') > > perf/trace/beauty/generated/fs_at_flags_array.c:15:30: error: initialized field overwritten [-Werror=override-init] > > 15 | [ilog2(0x001) + 1] = "HANDLE_MNT_ID_UNIQUE", > > | ^~~~~~~~~~~~~~~~~~~~~~ > > perf/trace/beauty/generated/fs_at_flags_array.c:15:30: note: (near initialization for 'fs_at_flags[1]') > > > > Caused by commit > > > > 34cf40849654 ("uapi: explain how per-syscall AT_* flags should be allocated") > > > > I have used the vfs-brauner tree from next-20240902 for today. > > Ah okay, the overlapping flag definitions in the copied over fcntl.h are > causing issues. We could just drop that part of the patch, or (since the > new flags aren't handled by perf/trace/beauty) we could just do > something simple like: > > diff --git a/tools/perf/trace/beauty/fs_at_flags.sh b/tools/perf/trace/beauty/fs_at_flags.sh > index 456f59addf74..930384029599 100755 > --- a/tools/perf/trace/beauty/fs_at_flags.sh > +++ b/tools/perf/trace/beauty/fs_at_flags.sh > @@ -13,9 +13,13 @@ printf "static const char *fs_at_flags[] = {\n" > regex='^[[:space:]]*#[[:space:]]*define[[:space:]]+AT_([^_]+[[:alnum:]_]+)[[:space:]]+(0x[[:xdigit:]]+)[[:space:]]*.*' > # AT_EACCESS is only meaningful to faccessat, so we will special case it there... > # AT_STATX_SYNC_TYPE is not a bit, its a mask of AT_STATX_SYNC_AS_STAT, AT_STATX_FORCE_SYNC and AT_STATX_DONT_SYNC > +# AT_RENAME_* flags are just aliases of RENAME_* flags and we don't need to include them. > +# AT_HANDLE_* flags are only meaningful for name_to_handle_at, which we don't support. > grep -E $regex ${linux_fcntl} | \ > grep -v AT_EACCESS | \ > grep -v AT_STATX_SYNC_TYPE | \ > + grep -Ev "AT_RENAME_(NOREPLACE|EXCHANGE|WHITEOUT)" | \ > + grep -Ev "AT_HANDLE_(FID|MNT_ID_UNIQUE)" | \ > sed -r "s/$regex/\2 \1/g" | \ > xargs printf "\t[ilog2(%s) + 1] = \"%s\",\n" > printf "};\n" I have applied that by hand for today. Please submit it and get it applied. -- Cheers, Stephen Rothwell
Attachment:
pgpPYokjgwNxM.pgp
Description: OpenPGP digital signature