Page MenuHomeFreeBSD

D31524.id93775.diff
No OneTemporary

D31524.id93775.diff

Index: sys/compat/linux/linux_file.h
===================================================================
--- sys/compat/linux/linux_file.h
+++ sys/compat/linux/linux_file.h
@@ -36,6 +36,13 @@
#define LINUX_AT_EACCESS 0x200
#define LINUX_AT_REMOVEDIR 0x200
#define LINUX_AT_SYMLINK_FOLLOW 0x400
+#define LINUX_AT_NO_AUTOMOUNT 0x800
+ /*
+ * Specific to Linux AT_NO_AUTOMOUNT flag tells the kernel to
+ * not automount the terminal component of pathname if it is a
+ * directory that is an automount point. As FreeBSD does not
+ * have such facility (automount), we can simply ignore this flag.
+ */
#define LINUX_AT_EMPTY_PATH 0x1000
/*
Index: sys/compat/linux/linux_stats.c
===================================================================
--- sys/compat/linux/linux_stats.c
+++ sys/compat/linux/linux_stats.c
@@ -774,7 +774,12 @@
int error, dirfd, flags, unsupported;
struct stat buf;
- unsupported = args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH);
+ /*
+ * Allow AT_NO_AUTOMOUNT and ignore it as FreeBSD does not
+ * automatically mount terminal component of pathname.
+ */
+ unsupported = args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW |
+ LINUX_AT_EMPTY_PATH | LINUX_AT_NO_AUTOMOUNT);
if (unsupported != 0) {
linux_msg(td, "statx unsupported flags 0x%x", unsupported);
return (EINVAL);

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 10, 10:37 PM (12 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31250571
Default Alt Text
D31524.id93775.diff (1 KB)

Event Timeline