MINOR: fd: move .cloned into fdtab[].state

No need to keep this flag apart any more, let's merge it into the global
state.
diff --git a/include/haproxy/fd-t.h b/include/haproxy/fd-t.h
index d15a977..1f55840 100644
--- a/include/haproxy/fd-t.h
+++ b/include/haproxy/fd-t.h
@@ -64,6 +64,7 @@
 
 /* info/config bits */
 #define FD_LINGER_RISK_BIT 16  /* must kill lingering before closing */
+#define FD_CLONED_BIT      17  /* cloned socket, requires EPOLL_CTL_DEL on close */
 
 
 /* and flag values */
@@ -99,6 +100,7 @@
 
 /* information/configuration flags */
 #define FD_LINGER_RISK      (1U << FD_LINGER_RISK_BIT)
+#define FD_CLONED           (1U << FD_CLONED_BIT)
 
 /* This is the value used to mark a file descriptor as dead. This value is
  * negative, this is important so that tests on fd < 0 properly match. It
@@ -147,7 +149,6 @@
 	void (*iocb)(int fd);                /* I/O handler */
 	void *owner;                         /* the connection or listener associated with this fd, NULL if closed */
 	unsigned int state;                  /* FD state for read and write directions (FD_EV_*) + FD_POLL_* */
-	unsigned char cloned:1;              /* 1 if a cloned socket, requires EPOLL_CTL_DEL on close */
 	unsigned char initialized:1;         /* 1 if init phase was done on this fd (e.g. set non-blocking) */
 	unsigned char et_possible:1;         /* 1 if edge-triggered is possible on this FD */
 	unsigned char exported:1;            /* 1 if the FD is exported and must not be closed */
diff --git a/include/haproxy/fd.h b/include/haproxy/fd.h
index df9df16..11dce3d 100644
--- a/include/haproxy/fd.h
+++ b/include/haproxy/fd.h
@@ -433,7 +433,6 @@
 	fdtab[fd].owner = owner;
 	fdtab[fd].iocb = iocb;
 	fdtab[fd].state = 0;
-	fdtab[fd].cloned = 0;
 	fdtab[fd].et_possible = 0;
 	fdtab[fd].exported = 0;
 #ifdef DEBUG_FD
diff --git a/src/cli.c b/src/cli.c
index 7c1b029..08c35da 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1203,7 +1203,7 @@
 			     (fdt.state & FD_POLL_PRI) ? 'P' : 'p',
 			     (fdt.state & FD_POLL_IN)  ? 'I' : 'i',
 			     (fdt.state & FD_LINGER_RISK) ? 'L' : 'l',
-			     fdt.cloned ? 'C' : 'c',
+			     (fdt.state & FD_CLONED) ? 'C' : 'c',
 			     fdt.thread_mask, fdt.update_mask,
 			     fdt.owner,
 			     fdt.iocb);
diff --git a/src/ev_epoll.c b/src/ev_epoll.c
index f43875c..22ad454 100644
--- a/src/ev_epoll.c
+++ b/src/ev_epoll.c
@@ -41,7 +41,7 @@
  */
 static void __fd_clo(int fd)
 {
-	if (unlikely(fdtab[fd].cloned)) {
+	if (unlikely(fdtab[fd].state & FD_CLONED)) {
 		unsigned long m = polled_mask[fd].poll_recv | polled_mask[fd].poll_send;
 		struct epoll_event ev;
 		int i;
diff --git a/src/fd.c b/src/fd.c
index e29814b..64e4e9c 100644
--- a/src/fd.c
+++ b/src/fd.c
@@ -819,7 +819,7 @@
 	int fd;
 	for (fd = 0; fd < global.maxsock; fd++) {
 		if (fdtab[fd].owner) {
-			fdtab[fd].cloned = 1;
+			HA_ATOMIC_OR(&fdtab[fd].state, FD_CLONED);
 		}
 	}