Message ID | 20201029040338.238990-1-palmerdabbelt@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | open_by_handle: Don't use MAX_HANDLE_SZ | expand |
On Thu, Oct 29, 2020 at 11:01 AM Palmer Dabbelt <palmerdabbelt@google.com> wrote: > > When I compile this normally I end up with the definition of > MAX_HANDLE_SZ, but when I compile it in a minimal buildroot-based > environment I don't. I'm not sure where this is supposed to come from, > but as of 3f4760c2 ("open_by_handle: add option -z to query file handle > size") it appears to be unnecessary. > > Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com> > --- > I haven't actually run this, as I haven't figured out how to yet. It > does build, though. > --- > src/open_by_handle.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/src/open_by_handle.c b/src/open_by_handle.c > index 0f74ed08..ddeffb7a 100644 > --- a/src/open_by_handle.c > +++ b/src/open_by_handle.c > @@ -92,7 +92,6 @@ Examples: > > struct handle { > struct file_handle fh; > - unsigned char fid[MAX_HANDLE_SZ]; > } handle[MAXFILES], dir_handle; This is absolutely wrong! I don't know what's the best way to fix the build error, but this fid member is absolutely needed. For all I care, you can define MAX_TEST_HANDLE_SZ to 128 or to MAX_HANDLE_SZ if it is defined. The test doesn't really care what the value of MAX_HANDLE_SZ is. It just needs to be large enough to accomodate for the size of file handles of the tested filesystem. Thanks, Amir.
On Wed, Oct 28, 2020 at 09:03:39PM -0700, Palmer Dabbelt wrote: > When I compile this normally I end up with the definition of > MAX_HANDLE_SZ, but when I compile it in a minimal buildroot-based > environment I don't. I'm not sure where this is supposed to come from, > but as of 3f4760c2 ("open_by_handle: add option -z to query file handle > size") it appears to be unnecessary. Hmmm - it should be trivial to find where it comes from with grep: $ grep -R MAX_HANDLE_SZ /usr/include /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:# define MAX_HANDLE_SZ 128 $ IOWs, MAX_HANDLE_SZ is defined via: #include <fcntl.h> which src/open_by_handle.c already includes. IOWs, this looks like a problem with your build root environment not defining MAX_HANDLE_SZ correctly, not a problem with fstests. Cheers, Dave.
diff --git a/src/open_by_handle.c b/src/open_by_handle.c index 0f74ed08..ddeffb7a 100644 --- a/src/open_by_handle.c +++ b/src/open_by_handle.c @@ -92,7 +92,6 @@ Examples: struct handle { struct file_handle fh; - unsigned char fid[MAX_HANDLE_SZ]; } handle[MAXFILES], dir_handle; void usage(void)
When I compile this normally I end up with the definition of MAX_HANDLE_SZ, but when I compile it in a minimal buildroot-based environment I don't. I'm not sure where this is supposed to come from, but as of 3f4760c2 ("open_by_handle: add option -z to query file handle size") it appears to be unnecessary. Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com> --- I haven't actually run this, as I haven't figured out how to yet. It does build, though. --- src/open_by_handle.c | 1 - 1 file changed, 1 deletion(-)