Explorar el Código

libceph: initialize last_linger_id with a large integer

osdc->last_linger_id is a counter for lreq->linger_id, which is used
for watch cookies.  Starting with a large integer should ease the task
of telling apart kernel and userspace clients.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Ilya Dryomov hace 9 años
padre
commit
264048afab
Se han modificado 2 ficheros con 3 adiciones y 0 borrados
  1. 2 0
      include/linux/ceph/osd_client.h
  2. 1 0
      net/ceph/osd_client.c

+ 2 - 0
include/linux/ceph/osd_client.h

@@ -258,6 +258,8 @@ struct ceph_watch_item {
 	struct ceph_entity_addr addr;
 	struct ceph_entity_addr addr;
 };
 };
 
 
+#define CEPH_LINGER_ID_START	0xffff000000000000ULL
+
 struct ceph_osd_client {
 struct ceph_osd_client {
 	struct ceph_client     *client;
 	struct ceph_client     *client;
 
 

+ 1 - 0
net/ceph/osd_client.c

@@ -4094,6 +4094,7 @@ int ceph_osdc_init(struct ceph_osd_client *osdc, struct ceph_client *client)
 	osd_init(&osdc->homeless_osd);
 	osd_init(&osdc->homeless_osd);
 	osdc->homeless_osd.o_osdc = osdc;
 	osdc->homeless_osd.o_osdc = osdc;
 	osdc->homeless_osd.o_osd = CEPH_HOMELESS_OSD;
 	osdc->homeless_osd.o_osd = CEPH_HOMELESS_OSD;
+	osdc->last_linger_id = CEPH_LINGER_ID_START;
 	osdc->linger_requests = RB_ROOT;
 	osdc->linger_requests = RB_ROOT;
 	osdc->map_checks = RB_ROOT;
 	osdc->map_checks = RB_ROOT;
 	osdc->linger_map_checks = RB_ROOT;
 	osdc->linger_map_checks = RB_ROOT;