提交 e8514478 编写于 作者: I Ian Kent 提交者: Linus Torvalds

[PATCH] autofs4: header file update

The current header file definitions for autofs version 5 have caused a couple
of problems for application builds downstream.

This fixes the problem by separating the definitions.
Signed-off-by: NIan Kent <raven@themaw.net>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 22c8ca78
...@@ -84,7 +84,11 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi, ...@@ -84,7 +84,11 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi,
struct autofs_wait_queue *wq, struct autofs_wait_queue *wq,
int type) int type)
{ {
union autofs_packet_union pkt; union {
struct autofs_packet_hdr hdr;
union autofs_packet_union v4_pkt;
union autofs_v5_packet_union v5_pkt;
} pkt;
size_t pktsz; size_t pktsz;
DPRINTK("wait id = 0x%08lx, name = %.*s, type=%d", DPRINTK("wait id = 0x%08lx, name = %.*s, type=%d",
...@@ -98,7 +102,7 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi, ...@@ -98,7 +102,7 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi,
/* Kernel protocol v4 missing and expire packets */ /* Kernel protocol v4 missing and expire packets */
case autofs_ptype_missing: case autofs_ptype_missing:
{ {
struct autofs_packet_missing *mp = &pkt.missing; struct autofs_packet_missing *mp = &pkt.v4_pkt.missing;
pktsz = sizeof(*mp); pktsz = sizeof(*mp);
...@@ -110,7 +114,7 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi, ...@@ -110,7 +114,7 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi,
} }
case autofs_ptype_expire_multi: case autofs_ptype_expire_multi:
{ {
struct autofs_packet_expire_multi *ep = &pkt.expire_multi; struct autofs_packet_expire_multi *ep = &pkt.v4_pkt.expire_multi;
pktsz = sizeof(*ep); pktsz = sizeof(*ep);
...@@ -129,7 +133,7 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi, ...@@ -129,7 +133,7 @@ static void autofs4_notify_daemon(struct autofs_sb_info *sbi,
case autofs_ptype_missing_direct: case autofs_ptype_missing_direct:
case autofs_ptype_expire_direct: case autofs_ptype_expire_direct:
{ {
struct autofs_v5_packet *packet = &pkt.v5_packet; struct autofs_v5_packet *packet = &pkt.v5_pkt.v5_packet;
pktsz = sizeof(*packet); pktsz = sizeof(*packet);
......
...@@ -59,6 +59,13 @@ struct autofs_packet_expire_multi { ...@@ -59,6 +59,13 @@ struct autofs_packet_expire_multi {
char name[NAME_MAX+1]; char name[NAME_MAX+1];
}; };
union autofs_packet_union {
struct autofs_packet_hdr hdr;
struct autofs_packet_missing missing;
struct autofs_packet_expire expire;
struct autofs_packet_expire_multi expire_multi;
};
/* autofs v5 common packet struct */ /* autofs v5 common packet struct */
struct autofs_v5_packet { struct autofs_v5_packet {
struct autofs_packet_hdr hdr; struct autofs_packet_hdr hdr;
...@@ -78,12 +85,13 @@ typedef struct autofs_v5_packet autofs_packet_expire_indirect_t; ...@@ -78,12 +85,13 @@ typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
typedef struct autofs_v5_packet autofs_packet_missing_direct_t; typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
typedef struct autofs_v5_packet autofs_packet_expire_direct_t; typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
union autofs_packet_union { union autofs_v5_packet_union {
struct autofs_packet_hdr hdr; struct autofs_packet_hdr hdr;
struct autofs_packet_missing missing;
struct autofs_packet_expire expire;
struct autofs_packet_expire_multi expire_multi;
struct autofs_v5_packet v5_packet; struct autofs_v5_packet v5_packet;
autofs_packet_missing_indirect_t missing_indirect;
autofs_packet_expire_indirect_t expire_indirect;
autofs_packet_missing_direct_t missing_direct;
autofs_packet_expire_direct_t expire_direct;
}; };
#define AUTOFS_IOC_EXPIRE_MULTI _IOW(0x93,0x66,int) #define AUTOFS_IOC_EXPIRE_MULTI _IOW(0x93,0x66,int)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册