Page MenuHomeFreeBSD

D21606.id64040.diff
No OneTemporary

D21606.id64040.diff

Index: head/sys/compat/linux/linux_file.h
===================================================================
--- head/sys/compat/linux/linux_file.h
+++ head/sys/compat/linux/linux_file.h
@@ -127,4 +127,11 @@
#define LINUX_F_UNLCK 2
#endif
+/*
+ * renameat2 flags
+ */
+#define LINUX_RENAME_NOREPLACE 0x00000001
+#define LINUX_RENAME_EXCHANGE 0x00000002
+#define LINUX_RENAME_WHITEOUT 0x00000004
+
#endif /* !_LINUX_FILE_H_ */
Index: head/sys/compat/linux/linux_file.c
===================================================================
--- head/sys/compat/linux/linux_file.c
+++ head/sys/compat/linux/linux_file.c
@@ -704,6 +704,13 @@
int error, olddfd, newdfd;
if (args->flags != 0) {
+ if (args->flags & ~(LINUX_RENAME_EXCHANGE |
+ LINUX_RENAME_NOREPLACE | LINUX_RENAME_WHITEOUT))
+ return (EINVAL);
+ if (args->flags & LINUX_RENAME_EXCHANGE &&
+ args->flags & (LINUX_RENAME_NOREPLACE |
+ LINUX_RENAME_WHITEOUT))
+ return (EINVAL);
linux_msg(td, "renameat2 unsupported flags 0x%x",
args->flags);
return (EINVAL);

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 9, 8:17 AM (6 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28557228
Default Alt Text
D21606.id64040.diff (1 KB)

Event Timeline