diff mbox series

open_by_handle: Don't use MAX_HANDLE_SZ

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

Commit Message

Palmer Dabbelt Oct. 29, 2020, 4:03 a.m. UTC
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(-)

Comments

Amir Goldstein Oct. 29, 2020, 9:56 a.m. UTC | #1
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.
Dave Chinner Nov. 9, 2020, 10:45 p.m. UTC | #2
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 mbox series

Patch

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)