diff options
Diffstat (limited to 'debian/patches/0006-libdiskfs-add-payload-aware-intrans-functions.patch')
-rw-r--r-- | debian/patches/0006-libdiskfs-add-payload-aware-intrans-functions.patch | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/debian/patches/0006-libdiskfs-add-payload-aware-intrans-functions.patch b/debian/patches/0006-libdiskfs-add-payload-aware-intrans-functions.patch new file mode 100644 index 00000000..b5193354 --- /dev/null +++ b/debian/patches/0006-libdiskfs-add-payload-aware-intrans-functions.patch @@ -0,0 +1,109 @@ +From 0648583515f05054e931a9d097345adfb70ae023 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Thu, 28 Nov 2013 10:43:18 +0100 +Subject: [PATCH hurd 06/29] libdiskfs: add payload-aware intrans functions + +* libdiskfs/diskfs.h (diskfs_begin_using_protid_payload): New function. +(diskfs_begin_using_control_payload): Likewise. +(diskfs_begin_using_bootinfo_payload): Likewise. +* libdiskfs/fsmutations.h: Add mutators. +--- + libdiskfs/diskfs.h | 29 +++++++++++++++++++++++++++++ + libdiskfs/fsmutations.h | 5 +++++ + 2 files changed, 34 insertions(+) + +diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h +index e59ba99..2818225 100644 +--- a/libdiskfs/diskfs.h ++++ b/libdiskfs/diskfs.h +@@ -833,8 +833,14 @@ error_t diskfs_start_protid (struct peropen *po, struct protid **cred); + void diskfs_finish_protid (struct protid *cred, struct iouser *user); + + extern struct protid * diskfs_begin_using_protid_port (file_t port); ++extern struct protid * ++diskfs_begin_using_protid_payload (unsigned long payload); + extern struct diskfs_control * diskfs_begin_using_control_port (fsys_t port); ++extern struct diskfs_control * ++diskfs_begin_using_control_port_payload (unsigned long payload); + extern struct bootinfo *diskfs_begin_using_bootinfo_port (exec_startup_t port); ++struct bootinfo * ++diskfs_begin_using_bootinfo_payload (unsigned long payload); + + extern void diskfs_end_using_protid_port (struct protid *cred); + extern void diskfs_end_using_control_port (struct diskfs_control *cred); +@@ -851,6 +857,14 @@ diskfs_begin_using_protid_port (file_t port) + return ports_lookup_port (diskfs_port_bucket, port, diskfs_protid_class); + } + ++DISKFS_EXTERN_INLINE struct protid * ++diskfs_begin_using_protid_payload (unsigned long payload) ++{ ++ return ports_lookup_payload (diskfs_port_bucket, ++ payload, ++ diskfs_protid_class); ++} ++ + /* And for the fsys interface. */ + DISKFS_EXTERN_INLINE struct diskfs_control * + diskfs_begin_using_control_port (fsys_t port) +@@ -858,6 +872,14 @@ diskfs_begin_using_control_port (fsys_t port) + return ports_lookup_port (diskfs_port_bucket, port, NULL); + } + ++DISKFS_EXTERN_INLINE struct diskfs_control * ++diskfs_begin_using_control_port_payload (unsigned long payload) ++{ ++ return ports_lookup_payload (diskfs_port_bucket, ++ payload, ++ NULL); ++} ++ + /* And for the exec_startup interface. */ + DISKFS_EXTERN_INLINE struct bootinfo * + diskfs_begin_using_bootinfo_port (exec_startup_t port) +@@ -865,6 +887,13 @@ diskfs_begin_using_bootinfo_port (exec_startup_t port) + return ports_lookup_port (diskfs_port_bucket, port, diskfs_execboot_class); + } + ++DISKFS_EXTERN_INLINE struct bootinfo * ++diskfs_begin_using_bootinfo_payload (unsigned long payload) ++{ ++ return ports_lookup_payload (diskfs_port_bucket, ++ payload, ++ diskfs_execboot_class); ++} + + /* Called by MiG after server routines have been run; this + balances begin_using_protid_port, and is arranged for the io +diff --git a/libdiskfs/fsmutations.h b/libdiskfs/fsmutations.h +index 3f9362b..c2167c6 100644 +--- a/libdiskfs/fsmutations.h ++++ b/libdiskfs/fsmutations.h +@@ -18,12 +18,15 @@ + /* Only CPP macro definitions should go in this file. */ + + #define FILE_INTRAN protid_t diskfs_begin_using_protid_port (file_t) ++#define FILE_INTRAN_PAYLOAD protid_t diskfs_begin_using_protid_payload + #define FILE_DESTRUCTOR diskfs_end_using_protid_port (protid_t) + + #define IO_INTRAN protid_t diskfs_begin_using_protid_port (io_t) ++#define IO_INTRAN_PAYLOAD protid_t diskfs_begin_using_protid_payload + #define IO_DESTRUCTOR diskfs_end_using_protid_port (protid_t) + + #define FSYS_INTRAN control_t diskfs_begin_using_control_port (fsys_t) ++#define FSYS_INTRAN_PAYLOAD control_t diskfs_begin_using_control_port_payload + #define FSYS_DESTRUCTOR diskfs_end_using_control_port (control_t) + + #define FILE_IMPORTS import "libdiskfs/priv.h"; +@@ -33,6 +36,8 @@ + + #define EXEC_STARTUP_INTRAN \ + bootinfo_t diskfs_begin_using_bootinfo_port (exec_startup_t) ++#define EXEC_STARTUP_INTRAN_PAYLOAD \ ++ bootinfo_t diskfs_begin_using_bootinfo_payload + #define EXEC_STARTUP_DESTRUCTOR \ + diskfs_end_using_bootinfo (bootinfo_t) + #define EXEC_STARTUP_IMPORTS \ +-- +2.1.3 + |