/* * QLogic iSCSI HBA Driver * Copyright (c) 2003-2013 QLogic Corporation * * See LICENSE.qla4xxx for copyright and licensing details. */ #include <linux/moduleparam.h> #include <linux/slab.h> #include <linux/blkdev.h> #include <linux/iscsi_boot_sysfs.h> #include <linux/inet.h> #include <scsi/scsi_tcq.h> #include <scsi/scsicam.h> #include "ql4_def.h" #include "ql4_version.h" #include "ql4_glbl.h" #include "ql4_dbg.h" #include "ql4_inline.h" #include "ql4_83xx.h" /* * Driver version */ static char qla4xxx_version_str[40]; /* * SRB allocation cache */ static struct kmem_cache *srb_cachep; /* * Module parameter information and variables */ static int ql4xdisablesysfsboot = 1; module_param(ql4xdisablesysfsboot, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(ql4xdisablesysfsboot, " Set to disable exporting boot targets to sysfs.\n" "\t\t 0 - Export boot targets\n" "\t\t 1 - Do not export boot targets (Default)"); int ql4xdontresethba; module_param(ql4xdontresethba, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(ql4xdontresethba, " Don't reset the HBA for driver recovery.\n" "\t\t 0 - It will reset HBA (Default)\n" "\t\t 1 - It will NOT reset HBA"); int ql4xextended_error_logging; module_param(ql4xextended_error_logging, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(ql4xextended_error_logging, " Option to enable extended error logging.\n" "\t\t 0 - no logging (Default)\n" "\t\t 2 - debug logging"); int ql4xenablemsix = 1; module_param(ql4xenablemsix, int, S_IRUGO|S_IWUSR); MODULE_PARM_DESC(ql4xenablemsix, " Set to enable MSI or MSI-X interrupt mechanism.\n" "\t\t 0 = enable INTx interrupt mechanism.\n" "\t\t 1 = enable MSI-X interrupt mechanism (Default).\n" "\t\t 2 = enable MSI interrupt mechanism."); #define QL4_DEF_QDEPTH 32 static int ql4xmaxqdepth = QL4_DEF_QDEPTH; module_param(ql4xmaxqdepth, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(ql4xmaxqdepth, " Maximum queue depth to report for target devices.\n" "\t\t Default: 32."); static int ql4xqfulltracking = 1; module_param(ql4xqfulltracking, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(ql4xqfulltracking, " Enable or disable dynamic tracking and adjustment of\n" "\t\t scsi device queue depth.\n" "\t\t 0 - Disable.\n" "\t\t 1 - Enable. (Default)"); static int ql4xsess_recovery_tmo = QL4_SESS_RECOVERY_TMO; module_param(ql4xsess_recovery_tmo, int, S_IRUGO); MODULE_PARM_DESC(ql4xsess_recovery_tmo, " Target Session Recovery Timeout.\n" "\t\t Default: 120 sec."); int ql4xmdcapmask = 0; module_param(ql4xmdcapmask, int, S_IRUGO); MODULE_PARM_DESC(ql4xmdcapmask, " Set the Minidump driver capture mask level.\n" "\t\t Default is 0 (firmware default capture mask)\n" "\t\t Can be set to 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F, 0xFF"); int ql4xenablemd = 1; module_param(ql4xenablemd, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(ql4xenablemd, " Set to enable minidump.\n" "\t\t 0 - disable minidump\n" "\t\t 1 - enable minidump (Default)"); static int qla4xxx_wait_for_hba_online(struct scsi_qla_host *ha); /* * SCSI host template entry points */ static void qla4xxx_config_dma_addressing(struct scsi_qla_host *ha); /* * iSCSI template entry points */ static int qla4xxx_session_get_param(struct iscsi_cls_session *cls_sess, enum iscsi_param param, char *buf); static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn, enum iscsi_param param, char *buf); static int qla4xxx_host_get_param(struct Scsi_Host *shost, enum iscsi_host_param param, char *buf); static int qla4xxx_iface_set_param(struct Scsi_Host *shost, void *data, uint32_t len); static int qla4xxx_get_iface_param(struct iscsi_iface *iface, enum iscsi_param_type param_type, int param, char *buf); static enum blk_eh_timer_return qla4xxx_eh_cmd_timed_out(struct scsi_cmnd *sc); static struct iscsi_endpoint *qla4xxx_ep_connect(struct Scsi_Host *shost, struct sockaddr *dst_addr, int non_blocking); static int qla4xxx_ep_poll(struct iscsi_endpoint *ep, int timeout_ms); static void qla4xxx_ep_disconnect(struct iscsi_endpoint *ep); static int qla4xxx_get_ep_param(struct iscsi_endpoint *ep, enum iscsi_param param, char *buf); static int qla4xxx_conn_start(struct iscsi_cls_conn *conn); static struct iscsi_cls_conn * qla4xxx_conn_create(struct iscsi_cls_session *cls_sess, uint32_t conn_idx); static int qla4xxx_conn_bind(struct iscsi_cls_session *cls_session, struct iscsi_cls_conn *cls_conn, uint64_t transport_fd, int is_leading); static void qla4xxx_conn_destroy(struct iscsi_cls_conn *conn); static struct iscsi_cls_session * qla4xxx_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max, uint16_t qdepth, uint32_t initial_cmdsn); static void qla4xxx_session_destroy(struct iscsi_cls_session *sess); static void qla4xxx_task_work(struct work_struct *wdata); static int qla4xxx_alloc_pdu(struct iscsi_task *, uint8_t); static int qla4xxx_task_xmit(struct iscsi_task *); static void qla4xxx_task_cleanup(struct iscsi_task *); static void qla4xxx_fail_session(struct iscsi_cls_session *cls_session); static void qla4xxx_conn_get_stats(struct iscsi_cls_conn *cls_conn, struct iscsi_stats *stats); static int qla4xxx_send_ping(struct Scsi_Host *shost, uint32_t iface_num, uint32_t iface_type, uint32_t payload_size, uint32_t pid, struct sockaddr *dst_addr); static int qla4xxx_get_chap_list(struct Scsi_Host *shost, uint16_t chap_tbl_idx, uint32_t *num_entries, char *buf); static int qla4xxx_delete_chap(struct Scsi_Host *shost, uint16_t chap_tbl_idx); static int qla4xxx_set_chap_entry(struct Scsi_Host *shost, void *data, int len); static int qla4xxx_get_host_stats(struct Scsi_Host *shost, char *buf, int len); /* * SCSI host template entry points */ static int qla4xxx_queuecommand(struct Scsi_Host *h, struct scsi_cmnd *cmd); static int qla4xxx_eh_abort(struct scsi_cmnd *cmd); static int qla4xxx_eh_device_reset(struct scsi_cmnd *cmd); static int qla4xxx_eh_target_reset(struct scsi_cmnd *cmd); static int qla4xxx_eh_host_reset(struct scsi_cmnd *cmd); static int qla4xxx_slave_alloc(struct scsi_device *device); static umode_t qla4_attr_is_visible(int param_type, int param); static int qla4xxx_host_reset(struct Scsi_Host *shost, int reset_type); /* * iSCSI Flash DDB sysfs entry points */ static int qla4xxx_sysfs_ddb_set_param(struct iscsi_bus_flash_session *fnode_sess, struct iscsi_bus_flash_conn *fnode_conn, void *data, int len); static int qla4xxx_sysfs_ddb_get_param(struct iscsi_bus_flash_session *fnode_sess, int param, char *buf); static int qla4xxx_sysfs_ddb_add(struct Scsi_Host *shost, const char *buf, int len); static int qla4xxx_sysfs_ddb_delete(struct iscsi_bus_flash_session *fnode_sess); static int qla4xxx_sysfs_ddb_login(struct iscsi_bus_flash_session *fnode_sess, struct iscsi_bus_flash_conn *fnode_conn); static int qla4xxx_sysfs_ddb_logout(struct iscsi_bus_flash_session *fnode_sess, struct iscsi_bus_flash_conn *fnode_conn); static int qla4xxx_sysfs_ddb_logout_sid(struct iscsi_cls_session *cls_sess); static struct qla4_8xxx_legacy_intr_set legacy_intr[] = QLA82XX_LEGACY_INTR_CONFIG; static struct scsi_host_template qla4xxx_driver_template = { .module = THIS_MODULE, .name = DRIVER_NAME, .proc_name = DRIVER_NAME, .queuecommand = qla4xxx_queuecommand, .eh_abort_handler = qla4xxx_eh_abort, .eh_device_reset_handler = qla4xxx_eh_device_reset, .eh_target_reset_handler = qla4xxx_eh_target_reset, .eh_host_reset_handler = qla4xxx_eh_host_reset, .eh_timed_out = qla4xxx_eh_cmd_timed_out, .slave_alloc = qla4xxx_slave_alloc, .change_queue_depth = scsi_change_queue_depth, .this_id = -1, .cmd_per_lun = 3, .use_clustering = ENABLE_CLUSTERING, .sg_tablesize = SG_ALL, .max_sectors = 0xFFFF, .shost_attrs = qla4xxx_host_attrs, .host_reset = qla4xxx_host_reset, .vendor_id = SCSI_NL_VID_TYPE_PCI | PCI_VENDOR_ID_QLOGIC, }; static struct iscsi_transport qla4xxx_iscsi_transport = { .owner = THIS_MODULE, .name = DRIVER_NAME, .caps = CAP_TEXT_NEGO | CAP_DATA_PATH_OFFLOAD | CAP_HDRDGST | CAP_DATADGST | CAP_LOGIN_OFFLOAD | CAP_MULTI_R2T, .attr_is_visible = qla4_attr_is_visible, .create_session = qla4xxx_session_create, .destroy_session = qla4xxx_session_destroy, .start_conn = qla4xxx_conn_start, .create_conn = qla4xxx_conn_create, .bind_conn = qla4xxx_conn_bind, .stop_conn = iscsi_conn_stop, .destroy_conn = qla4xxx_conn_destroy, .set_param = iscsi_set_param, .get_conn_param = qla4xxx_conn_get_param, .get_session_param = qla4xxx_session_get_param, .get_ep_param = qla4xxx_get_ep_param, .ep_connect = qla4xxx_ep_connect, .ep_poll = qla4xxx_ep_poll, .ep_disconnect = qla4xxx_ep_disconnect, .get_stats = qla4xxx_conn_get_stats, .send_pdu = iscsi_conn_send_pdu, .xmit_task = qla4xxx_task_xmit, .cleanup_task = qla4xxx_task_cleanup, .alloc_pdu = qla4xxx_alloc_pdu, .get_host_param = qla4xxx_host_get_param, .set_iface_param = qla4xxx_iface_set_param, .get_iface_param = qla4xxx_get_iface_param, .bsg_request = qla4xxx_bsg_request, .send_ping = qla4xxx_send_ping, .get_chap = qla4xxx_get_chap_list, .delete_chap = qla4xxx_delete_chap, .set_chap = qla4xxx_set_chap_entry, .get_flashnode_param = qla4xxx_sysfs_ddb_get_param, .set_flashnode_param = qla4xxx_sysfs_ddb_set_param, .new_flashnode = qla4xxx_sysfs_ddb_add, .del_flashnode = qla4xxx_sysfs_ddb_delete, .login_flashnode = qla4xxx_sysfs_ddb_login, .logout_flashnode = qla4xxx_sysfs_ddb_logout, .logout_flashnode_sid = qla4xxx_sysfs_ddb_logout_sid, .get_host_stats = qla4xxx_get_host_stats, }; static struct scsi_transport_template *qla4xxx_scsi_transport;
static int qla4xxx_send_ping(struct Scsi_Host *shost, uint32_t iface_num, uint32_t iface_type, uint32_t payload_size, uint32_t pid, struct sockaddr *dst_addr) { struct scsi_qla_host *ha = to_qla_host(shost); struct sockaddr_in *addr; struct sockaddr_in6 *addr6; uint32_t options = 0; uint8_t ipaddr[IPv6_ADDR_LEN]; int rval; memset(ipaddr, 0, IPv6_ADDR_LEN); /* IPv4 to IPv4 */ if ((iface_type == ISCSI_IFACE_TYPE_IPV4) && (dst_addr->sa_family == AF_INET)) { addr = (struct sockaddr_in *)dst_addr; memcpy(ipaddr, &addr->sin_addr.s_addr, IP_ADDR_LEN); DEBUG2(ql4_printk(KERN_INFO, ha, "%s: IPv4 Ping src: %pI4 " "dest: %pI4\n", __func__, &ha->ip_config.ip_address, ipaddr)); rval = qla4xxx_ping_iocb(ha, options, payload_size, pid, ipaddr); if (rval) rval = -EINVAL; } else if ((iface_type == ISCSI_IFACE_TYPE_IPV6) && (dst_addr->sa_family == AF_INET6)) { /* IPv6 to IPv6 */ addr6 = (struct sockaddr_in6 *)dst_addr; memcpy(ipaddr, &addr6->sin6_addr.in6_u.u6_addr8, IPv6_ADDR_LEN); options |= PING_IPV6_PROTOCOL_ENABLE; /* Ping using LinkLocal address */ if ((iface_num == 0) || (iface_num == 1)) { DEBUG2(ql4_printk(KERN_INFO, ha, "%s: LinkLocal Ping " "src: %pI6 dest: %pI6\n", __func__, &ha->ip_config.ipv6_link_local_addr, ipaddr)); options |= PING_IPV6_LINKLOCAL_ADDR; rval = qla4xxx_ping_iocb(ha, options, payload_size, pid, ipaddr); } else { ql4_printk(KERN_WARNING, ha, "%s: iface num = %d " "not supported\n", __func__, iface_num); rval = -ENOSYS; goto exit_send_ping; } /* * If ping using LinkLocal address fails, try ping using * IPv6 address */ if (rval != QLA_SUCCESS) { options &= ~PING_IPV6_LINKLOCAL_ADDR; if (iface_num == 0) { options |= PING_IPV6_ADDR0; DEBUG2(ql4_printk(KERN_INFO, ha, "%s: IPv6 " "Ping src: %pI6 " "dest: %pI6\n", __func__, &ha->ip_config.ipv6_addr0, ipaddr)); } else if (iface_num == 1) { options |= PING_IPV6_ADDR1; DEBUG2(ql4_printk(KERN_INFO, ha, "%s: IPv6 " "Ping src: %pI6 " "dest: %pI6\n", __func__, &ha->ip_config.ipv6_addr1, ipaddr)); } rval = qla4xxx_ping_iocb(ha, options, payload_size, pid, ipaddr); if (rval) rval = -EINVAL; } } else rval = -ENOSYS; exit_send_ping: return rval; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 372 | 88.78% | 1 | 50.00% |
Nilesh Javali | 47 | 11.22% | 1 | 50.00% |
Total | 419 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 301 | 45.47% | 3 | 42.86% |
Harish Zunjarrao | 175 | 26.44% | 1 | 14.29% |
Nilesh Javali | 167 | 25.23% | 1 | 14.29% |
Mike Christie | 18 | 2.72% | 1 | 14.29% |
Vikas Chaudhary | 1 | 0.15% | 1 | 14.29% |
Total | 662 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 241 | 100.00% | 1 | 100.00% |
Total | 241 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 93 | 58.86% | 1 | 33.33% |
Nilesh Javali | 64 | 40.51% | 1 | 33.33% |
Vikas Chaudhary | 1 | 0.63% | 1 | 33.33% |
Total | 158 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 135 | 77.14% | 1 | 50.00% |
Nilesh Javali | 40 | 22.86% | 1 | 50.00% |
Total | 175 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 180 | 60.20% | 2 | 50.00% |
Nilesh Javali | 117 | 39.13% | 1 | 25.00% |
Rickard Strandqvist | 2 | 0.67% | 1 | 25.00% |
Total | 299 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Nilesh Javali | 103 | 100.00% | 1 | 100.00% |
Total | 103 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Nilesh Javali | 37 | 100.00% | 1 | 100.00% |
Total | 37 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Nilesh Javali | 409 | 95.34% | 1 | 20.00% |
Vikas Chaudhary | 18 | 4.20% | 3 | 60.00% |
Mike Christie | 2 | 0.47% | 1 | 20.00% |
Total | 429 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 441 | 91.49% | 1 | 50.00% |
Dan Carpenter | 41 | 8.51% | 1 | 50.00% |
Total | 482 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Lalit Chandivade | 1158 | 99.14% | 1 | 50.00% |
Mike Christie | 10 | 0.86% | 1 | 50.00% |
Total | 1168 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 1367 | 62.02% | 1 | 6.25% |
Vikas Chaudhary | 556 | 25.23% | 6 | 37.50% |
Manish Rangankar | 208 | 9.44% | 1 | 6.25% |
Mike Christie | 70 | 3.18% | 7 | 43.75% |
David C Somayajulu | 3 | 0.14% | 1 | 6.25% |
Total | 2204 | 100.00% | 16 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 260 | 94.55% | 1 | 50.00% |
Vikas Chaudhary | 15 | 5.45% | 1 | 50.00% |
Total | 275 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 69 | 83.13% | 1 | 50.00% |
Vikas Chaudhary | 14 | 16.87% | 1 | 50.00% |
Total | 83 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 34 | 57.63% | 1 | 50.00% |
Harish Zunjarrao | 25 | 42.37% | 1 | 50.00% |
Total | 59 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 98 | 75.38% | 1 | 33.33% |
Vikas Chaudhary | 23 | 17.69% | 1 | 33.33% |
Adheer Chandravanshi | 9 | 6.92% | 1 | 33.33% |
Total | 130 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 393 | 95.62% | 1 | 50.00% |
Vikas Chaudhary | 18 | 4.38% | 1 | 50.00% |
Total | 411 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 85 | 100.00% | 1 | 100.00% |
Total | 85 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 88 | 100.00% | 1 | 100.00% |
Total | 88 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 57 | 100.00% | 1 | 100.00% |
Total | 57 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 146 | 100.00% | 1 | 100.00% |
Total | 146 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 56 | 100.00% | 1 | 100.00% |
Total | 56 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 101 | 100.00% | 1 | 100.00% |
Total | 101 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 41 | 100.00% | 1 | 100.00% |
Total | 41 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 32 | 100.00% | 1 | 100.00% |
Total | 32 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 53 | 100.00% | 1 | 100.00% |
Total | 53 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 1097 | 99.82% | 1 | 50.00% |
Vikas Chaudhary | 2 | 0.18% | 1 | 50.00% |
Total | 1099 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 990 | 82.85% | 1 | 25.00% |
Manish Rangankar | 195 | 16.32% | 1 | 25.00% |
Vikas Chaudhary | 10 | 0.84% | 2 | 50.00% |
Total | 1195 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Harish Zunjarrao | 350 | 48.75% | 1 | 25.00% |
Manish Rangankar | 316 | 44.01% | 1 | 25.00% |
Vikas Chaudhary | 52 | 7.24% | 2 | 50.00% |
Total | 718 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 265 | 100.00% | 1 | 100.00% |
Total | 265 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 473 | 83.27% | 1 | 25.00% |
Vikas Chaudhary | 41 | 7.22% | 1 | 25.00% |
Harish Zunjarrao | 29 | 5.11% | 1 | 25.00% |
Mike Christie | 25 | 4.40% | 1 | 25.00% |
Total | 568 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 175 | 50.43% | 1 | 33.33% |
Mike Christie | 152 | 43.80% | 1 | 33.33% |
Manish Rangankar | 20 | 5.76% | 1 | 33.33% |
Total | 347 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 98 | 100.00% | 2 | 100.00% |
Total | 98 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 90 | 57.32% | 1 | 25.00% |
Mike Christie | 61 | 38.85% | 2 | 50.00% |
Vikas Chaudhary | 6 | 3.82% | 1 | 25.00% |
Total | 157 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 145 | 87.35% | 2 | 40.00% |
Manish Rangankar | 17 | 10.24% | 1 | 20.00% |
Vikas Chaudhary | 4 | 2.41% | 2 | 40.00% |
Total | 166 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 269 | 85.94% | 2 | 40.00% |
Manish Rangankar | 41 | 13.10% | 2 | 40.00% |
Vikas Chaudhary | 3 | 0.96% | 1 | 20.00% |
Total | 313 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 195 | 75.29% | 2 | 33.33% |
Manish Rangankar | 30 | 11.58% | 1 | 16.67% |
Vikas Chaudhary | 24 | 9.27% | 2 | 33.33% |
Nilesh Javali | 10 | 3.86% | 1 | 16.67% |
Total | 259 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 215 | 71.19% | 2 | 33.33% |
Mike Christie | 46 | 15.23% | 2 | 33.33% |
Nilesh Javali | 23 | 7.62% | 1 | 16.67% |
Vikas Chaudhary | 18 | 5.96% | 1 | 16.67% |
Total | 302 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 66 | 58.41% | 3 | 42.86% |
Vikas Chaudhary | 38 | 33.63% | 1 | 14.29% |
Manish Rangankar | 9 | 7.96% | 3 | 42.86% |
Total | 113 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 63 | 45.99% | 2 | 50.00% |
Vikas Chaudhary | 46 | 33.58% | 1 | 25.00% |
Manish Rangankar | 28 | 20.44% | 1 | 25.00% |
Total | 137 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 304 | 85.39% | 2 | 50.00% |
Manish Rangankar | 30 | 8.43% | 1 | 25.00% |
Vikas Chaudhary | 22 | 6.18% | 1 | 25.00% |
Total | 356 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 43 | 41.75% | 1 | 25.00% |
Mike Christie | 42 | 40.78% | 2 | 50.00% |
Vikas Chaudhary | 18 | 17.48% | 1 | 25.00% |
Total | 103 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 186 | 85.32% | 2 | 50.00% |
Manish Rangankar | 32 | 14.68% | 2 | 50.00% |
Total | 218 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 207 | 59.48% | 1 | 20.00% |
Manish Rangankar | 106 | 30.46% | 2 | 40.00% |
David C Somayajulu | 28 | 8.05% | 1 | 20.00% |
Vikas Chaudhary | 7 | 2.01% | 1 | 20.00% |
Total | 348 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 163 | 100.00% | 1 | 100.00% |
Total | 163 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 44 | 58.67% | 1 | 50.00% |
David C Somayajulu | 31 | 41.33% | 1 | 50.00% |
Total | 75 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 566 | 60.66% | 2 | 12.50% |
Mike Christie | 171 | 18.33% | 4 | 25.00% |
David C Somayajulu | 80 | 8.57% | 1 | 6.25% |
Manish Rangankar | 58 | 6.22% | 1 | 6.25% |
Vikas Chaudhary | 25 | 2.68% | 4 | 25.00% |
Nilesh Javali | 24 | 2.57% | 2 | 12.50% |
Benoit Taine | 5 | 0.54% | 1 | 6.25% |
Lalit Chandivade | 4 | 0.43% | 1 | 6.25% |
Total | 933 | 100.00% | 16 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 587 | 71.59% | 5 | 35.71% |
Mike Christie | 136 | 16.59% | 1 | 7.14% |
David C Somayajulu | 43 | 5.24% | 1 | 7.14% |
Vikas Chaudhary | 34 | 4.15% | 3 | 21.43% |
Tej Parkash | 9 | 1.10% | 1 | 7.14% |
Manish Rangankar | 5 | 0.61% | 1 | 7.14% |
Lalit Chandivade | 5 | 0.61% | 1 | 7.14% |
Nilesh Javali | 1 | 0.12% | 1 | 7.14% |
Total | 820 | 100.00% | 14 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 677 | 95.08% | 3 | 60.00% |
David C Somayajulu | 34 | 4.78% | 1 | 20.00% |
Vikas Chaudhary | 1 | 0.14% | 1 | 20.00% |
Total | 712 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 305 | 87.64% | 3 | 50.00% |
David C Somayajulu | 15 | 4.31% | 1 | 16.67% |
Manish Rangankar | 14 | 4.02% | 1 | 16.67% |
Mike Christie | 14 | 4.02% | 1 | 16.67% |
Total | 348 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 131 | 69.68% | 1 | 50.00% |
Michael Hernandez | 57 | 30.32% | 1 | 50.00% |
Total | 188 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 201 | 67.91% | 2 | 18.18% |
Vikas Chaudhary | 72 | 24.32% | 5 | 45.45% |
David C Somayajulu | 14 | 4.73% | 1 | 9.09% |
Shyam Sunder | 5 | 1.69% | 1 | 9.09% |
Nilesh Javali | 3 | 1.01% | 1 | 9.09% |
Lalit Chandivade | 1 | 0.34% | 1 | 9.09% |
Total | 296 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 79 | 79.80% | 1 | 20.00% |
David C Somayajulu | 10 | 10.10% | 1 | 20.00% |
Manish Rangankar | 5 | 5.05% | 1 | 20.00% |
Vikas Chaudhary | 3 | 3.03% | 1 | 20.00% |
Shyam Sunder | 2 | 2.02% | 1 | 20.00% |
Total | 99 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 23 | 92.00% | 1 | 33.33% |
Lalit Chandivade | 1 | 4.00% | 1 | 33.33% |
Mike Christie | 1 | 4.00% | 1 | 33.33% |
Total | 25 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 9 | 60.00% | 1 | 50.00% |
Mike Christie | 6 | 40.00% | 1 | 50.00% |
Total | 15 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 17 | 89.47% | 1 | 50.00% |
Mike Christie | 2 | 10.53% | 1 | 50.00% |
Total | 19 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 61 | 65.59% | 1 | 50.00% |
Mike Christie | 32 | 34.41% | 1 | 50.00% |
Total | 93 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 42 | 77.78% | 1 | 50.00% |
Mike Christie | 12 | 22.22% | 1 | 50.00% |
Total | 54 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 48 | 72.73% | 1 | 50.00% |
Mike Christie | 18 | 27.27% | 1 | 50.00% |
Total | 66 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 175 | 52.71% | 1 | 14.29% |
Vikas Chaudhary | 125 | 37.65% | 2 | 28.57% |
Nilesh Javali | 20 | 6.02% | 1 | 14.29% |
Manish Rangankar | 7 | 2.11% | 1 | 14.29% |
Mike Christie | 3 | 0.90% | 1 | 14.29% |
David C Somayajulu | 2 | 0.60% | 1 | 14.29% |
Total | 332 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 187 | 65.38% | 1 | 33.33% |
Vikas Chaudhary | 99 | 34.62% | 2 | 66.67% |
Total | 286 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 297 | 71.22% | 1 | 33.33% |
Vikas Chaudhary | 120 | 28.78% | 2 | 66.67% |
Total | 417 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 98 | 73.68% | 1 | 50.00% |
Vikas Chaudhary | 35 | 26.32% | 1 | 50.00% |
Total | 133 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 74 | 65.49% | 1 | 50.00% |
Vikas Chaudhary | 39 | 34.51% | 1 | 50.00% |
Total | 113 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 132 | 71.35% | 1 | 16.67% |
Vikas Chaudhary | 30 | 16.22% | 2 | 33.33% |
Mike Christie | 9 | 4.86% | 1 | 16.67% |
Manish Rangankar | 9 | 4.86% | 1 | 16.67% |
David C Somayajulu | 5 | 2.70% | 1 | 16.67% |
Total | 185 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 139 | 41.99% | 1 | 10.00% |
Vikas Chaudhary | 124 | 37.46% | 3 | 30.00% |
David C Somayajulu | 22 | 6.65% | 1 | 10.00% |
Tej Parkash | 18 | 5.44% | 1 | 10.00% |
Manish Rangankar | 11 | 3.32% | 1 | 10.00% |
Shyam Sunder | 8 | 2.42% | 1 | 10.00% |
Nilesh Javali | 6 | 1.81% | 1 | 10.00% |
Sarang Radke | 3 | 0.91% | 1 | 10.00% |
Total | 331 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 188 | 69.89% | 1 | 12.50% |
David C Somayajulu | 28 | 10.41% | 2 | 25.00% |
Vikas Chaudhary | 28 | 10.41% | 2 | 25.00% |
Shyam Sunder | 17 | 6.32% | 1 | 12.50% |
Nilesh Javali | 5 | 1.86% | 1 | 12.50% |
Sarang Radke | 3 | 1.12% | 1 | 12.50% |
Total | 269 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 165 | 51.40% | 1 | 20.00% |
David C Somayajulu | 78 | 24.30% | 1 | 20.00% |
Vikas Chaudhary | 36 | 11.21% | 1 | 20.00% |
Sarang Radke | 32 | 9.97% | 1 | 20.00% |
Nilesh Javali | 10 | 3.12% | 1 | 20.00% |
Total | 321 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 102 | 58.29% | 1 | 20.00% |
Tej Parkash | 30 | 17.14% | 1 | 20.00% |
Vikas Chaudhary | 25 | 14.29% | 1 | 20.00% |
Mike Christie | 9 | 5.14% | 1 | 20.00% |
Manish Rangankar | 9 | 5.14% | 1 | 20.00% |
Total | 175 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 72 | 54.14% | 1 | 12.50% |
David C Somayajulu | 17 | 12.78% | 1 | 12.50% |
Vikas Chaudhary | 14 | 10.53% | 1 | 12.50% |
Manish Rangankar | 12 | 9.02% | 2 | 25.00% |
Mike Christie | 9 | 6.77% | 1 | 12.50% |
Lalit Chandivade | 8 | 6.02% | 1 | 12.50% |
Karen Higgins | 1 | 0.75% | 1 | 12.50% |
Total | 133 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 318 | 70.98% | 1 | 20.00% |
Vikas Chaudhary | 68 | 15.18% | 2 | 40.00% |
Mike Christie | 39 | 8.71% | 1 | 20.00% |
David C Somayajulu | 23 | 5.13% | 1 | 20.00% |
Total | 448 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 65 | 65.00% | 1 | 50.00% |
Vikas Chaudhary | 35 | 35.00% | 1 | 50.00% |
Total | 100 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 32 | 59.26% | 1 | 50.00% |
Adheer Chandravanshi | 22 | 40.74% | 1 | 50.00% |
Total | 54 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 50 | 78.12% | 1 | 33.33% |
Vikas Chaudhary | 14 | 21.88% | 2 | 66.67% |
Total | 64 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 441 | 46.47% | 1 | 5.26% |
Vikas Chaudhary | 167 | 17.60% | 9 | 47.37% |
Mike Christie | 145 | 15.28% | 1 | 5.26% |
Nilesh Javali | 97 | 10.22% | 3 | 15.79% |
David C Somayajulu | 71 | 7.48% | 2 | 10.53% |
Tej Parkash | 26 | 2.74% | 2 | 10.53% |
Sarang Radke | 2 | 0.21% | 1 | 5.26% |
Total | 949 | 100.00% | 19 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 98 | 67.59% | 2 | 40.00% |
Mike Christie | 30 | 20.69% | 1 | 20.00% |
Vikas Chaudhary | 9 | 6.21% | 1 | 20.00% |
David C Somayajulu | 8 | 5.52% | 1 | 20.00% |
Total | 145 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 89 | 72.95% | 1 | 25.00% |
Mike Christie | 16 | 13.11% | 1 | 25.00% |
Vikas Chaudhary | 16 | 13.11% | 1 | 25.00% |
David C Somayajulu | 1 | 0.82% | 1 | 25.00% |
Total | 122 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 85 | 66.93% | 1 | 50.00% |
Mike Christie | 42 | 33.07% | 1 | 50.00% |
Total | 127 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 14 | 70.00% | 1 | 50.00% |
Mike Christie | 6 | 30.00% | 1 | 50.00% |
Total | 20 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 71 | 72.45% | 1 | 50.00% |
Mike Christie | 27 | 27.55% | 1 | 50.00% |
Total | 98 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 88 | 83.02% | 2 | 66.67% |
Mike Christie | 18 | 16.98% | 1 | 33.33% |
Total | 106 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 25 | 89.29% | 1 | 50.00% |
Mike Christie | 3 | 10.71% | 1 | 50.00% |
Total | 28 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 65 | 92.86% | 1 | 50.00% |
Mike Christie | 5 | 7.14% | 1 | 50.00% |
Total | 70 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 55 | 94.83% | 1 | 50.00% |
Mike Christie | 3 | 5.17% | 1 | 50.00% |
Total | 58 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 81 | 90.00% | 1 | 33.33% |
Vikas Chaudhary | 5 | 5.56% | 1 | 33.33% |
Mike Christie | 4 | 4.44% | 1 | 33.33% |
Total | 90 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 89 | 87.25% | 1 | 33.33% |
Mike Christie | 10 | 9.80% | 1 | 33.33% |
Vikas Chaudhary | 3 | 2.94% | 1 | 33.33% |
Total | 102 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 169 | 88.48% | 1 | 25.00% |
Mike Christie | 16 | 8.38% | 1 | 25.00% |
Vikas Chaudhary | 6 | 3.14% | 2 | 50.00% |
Total | 191 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 510 | 59.44% | 1 | 16.67% |
Nilesh Javali | 169 | 19.70% | 2 | 33.33% |
Mike Christie | 144 | 16.78% | 1 | 16.67% |
Vikas Chaudhary | 35 | 4.08% | 2 | 33.33% |
Total | 858 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 119 | 52.42% | 1 | 33.33% |
Mike Christie | 103 | 45.37% | 1 | 33.33% |
Vikas Chaudhary | 5 | 2.20% | 1 | 33.33% |
Total | 227 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 205 | 68.79% | 1 | 25.00% |
Mike Christie | 83 | 27.85% | 1 | 25.00% |
Vikas Chaudhary | 5 | 1.68% | 1 | 25.00% |
Lalit Chandivade | 5 | 1.68% | 1 | 25.00% |
Total | 298 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 132 | 50.97% | 1 | 33.33% |
Mike Christie | 125 | 48.26% | 1 | 33.33% |
David C Somayajulu | 2 | 0.77% | 1 | 33.33% |
Total | 259 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 23 | 100.00% | 1 | 100.00% |
Total | 23 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 27 | 100.00% | 1 | 100.00% |
Total | 27 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 23 | 100.00% | 1 | 100.00% |
Total | 23 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 27 | 100.00% | 1 | 100.00% |
Total | 27 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 94 | 100.00% | 1 | 100.00% |
Total | 94 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 45 | 100.00% | 1 | 100.00% |
Total | 45 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 66 | 100.00% | 1 | 100.00% |
Total | 66 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 39 | 100.00% | 1 | 100.00% |
Total | 39 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 295 | 100.00% | 1 | 100.00% |
Total | 295 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 48 | 100.00% | 1 | 100.00% |
Total | 48 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 48 | 100.00% | 1 | 100.00% |
Total | 48 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 63 | 100.00% | 1 | 100.00% |
Total | 63 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 24 | 100.00% | 1 | 100.00% |
Total | 24 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 560 | 100.00% | 1 | 100.00% |
Total | 560 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 197 | 98.99% | 1 | 50.00% |
Rickard Strandqvist | 2 | 1.01% | 1 | 50.00% |
Total | 199 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 470 | 100.00% | 1 | 100.00% |
Total | 470 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 221 | 100.00% | 1 | 100.00% |
Total | 221 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 257 | 100.00% | 1 | 100.00% |
Total | 257 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 122 | 98.39% | 1 | 50.00% |
Rickard Strandqvist | 2 | 1.61% | 1 | 50.00% |
Total | 124 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 182 | 100.00% | 1 | 100.00% |
Total | 182 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 175 | 99.43% | 1 | 50.00% |
Oleksandr Khoshaba | 1 | 0.57% | 1 | 50.00% |
Total | 176 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 211 | 93.36% | 1 | 50.00% |
Manish Rangankar | 15 | 6.64% | 1 | 50.00% |
Total | 226 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 85 | 100.00% | 1 | 100.00% |
Total | 85 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 99 | 100.00% | 1 | 100.00% |
Total | 99 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 104 | 100.00% | 1 | 100.00% |
Total | 104 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 277 | 100.00% | 1 | 100.00% |
Total | 277 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 44 | 100.00% | 1 | 100.00% |
Total | 44 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 226 | 100.00% | 1 | 100.00% |
Total | 226 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 41 | 100.00% | 1 | 100.00% |
Total | 41 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 168 | 100.00% | 2 | 100.00% |
Total | 168 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 242 | 100.00% | 1 | 100.00% |
Total | 242 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 111 | 90.98% | 1 | 50.00% |
Adheer Chandravanshi | 11 | 9.02% | 1 | 50.00% |
Total | 122 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 189 | 76.83% | 1 | 50.00% |
Adheer Chandravanshi | 57 | 23.17% | 1 | 50.00% |
Total | 246 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 189 | 59.06% | 1 | 50.00% |
Adheer Chandravanshi | 131 | 40.94% | 1 | 50.00% |
Total | 320 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 104 | 90.43% | 1 | 50.00% |
Manish Rangankar | 11 | 9.57% | 1 | 50.00% |
Total | 115 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 90 | 96.77% | 1 | 50.00% |
Adheer Chandravanshi | 3 | 3.23% | 1 | 50.00% |
Total | 93 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 307 | 97.15% | 1 | 50.00% |
Manish Rangankar | 9 | 2.85% | 1 | 50.00% |
Total | 316 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 93 | 100.00% | 1 | 100.00% |
Total | 93 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 413 | 82.27% | 1 | 50.00% |
Manish Rangankar | 89 | 17.73% | 1 | 50.00% |
Total | 502 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 317 | 94.07% | 1 | 50.00% |
Manish Rangankar | 20 | 5.93% | 1 | 50.00% |
Total | 337 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 49 | 100.00% | 1 | 100.00% |
Total | 49 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 244 | 99.59% | 1 | 50.00% |
Vikas Chaudhary | 1 | 0.41% | 1 | 50.00% |
Total | 245 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 329 | 98.50% | 4 | 80.00% |
Mike Christie | 5 | 1.50% | 1 | 20.00% |
Total | 334 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 287 | 99.65% | 2 | 66.67% |
Mike Christie | 1 | 0.35% | 1 | 33.33% |
Total | 288 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 302 | 96.79% | 1 | 33.33% |
Mike Christie | 9 | 2.88% | 1 | 33.33% |
Prasanna Mumbai | 1 | 0.32% | 1 | 33.33% |
Total | 312 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 162 | 75.00% | 1 | 16.67% |
Mike Christie | 39 | 18.06% | 1 | 16.67% |
Manish Rangankar | 10 | 4.63% | 3 | 50.00% |
David C Somayajulu | 5 | 2.31% | 1 | 16.67% |
Total | 216 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 35 | 55.56% | 1 | 16.67% |
Mike Christie | 15 | 23.81% | 1 | 16.67% |
Manish Rangankar | 7 | 11.11% | 2 | 33.33% |
Vikas Chaudhary | 4 | 6.35% | 1 | 16.67% |
David C Somayajulu | 2 | 3.17% | 1 | 16.67% |
Total | 63 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 171 | 62.87% | 2 | 28.57% |
Mike Christie | 71 | 26.10% | 1 | 14.29% |
Manish Rangankar | 20 | 7.35% | 2 | 28.57% |
Vikas Chaudhary | 9 | 3.31% | 1 | 14.29% |
Lalit Chandivade | 1 | 0.37% | 1 | 14.29% |
Total | 272 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 426 | 78.74% | 3 | 60.00% |
Mike Christie | 70 | 12.94% | 1 | 20.00% |
Manish Rangankar | 45 | 8.32% | 1 | 20.00% |
Total | 541 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 421 | 79.58% | 2 | 28.57% |
Manish Rangankar | 60 | 11.34% | 2 | 28.57% |
Mike Christie | 33 | 6.24% | 1 | 14.29% |
Vikas Chaudhary | 14 | 2.65% | 1 | 14.29% |
Rickard Strandqvist | 1 | 0.19% | 1 | 14.29% |
Total | 529 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 1024 | 78.17% | 3 | 30.00% |
Mike Christie | 106 | 8.09% | 2 | 20.00% |
Manish Rangankar | 105 | 8.02% | 3 | 30.00% |
Vikas Chaudhary | 74 | 5.65% | 1 | 10.00% |
Oleksandr Khoshaba | 1 | 0.08% | 1 | 10.00% |
Total | 1310 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 861 | 82.08% | 3 | 30.00% |
Lalit Chandivade | 97 | 9.25% | 3 | 30.00% |
Mike Christie | 58 | 5.53% | 1 | 10.00% |
Manish Rangankar | 30 | 2.86% | 2 | 20.00% |
Nilesh Javali | 3 | 0.29% | 1 | 10.00% |
Total | 1049 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 368 | 82.51% | 3 | 33.33% |
Mike Christie | 29 | 6.50% | 1 | 11.11% |
Lalit Chandivade | 24 | 5.38% | 2 | 22.22% |
Manish Rangankar | 22 | 4.93% | 1 | 11.11% |
Vikas Chaudhary | 3 | 0.67% | 2 | 22.22% |
Total | 446 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 117 | 68.82% | 2 | 28.57% |
Manish Rangankar | 21 | 12.35% | 2 | 28.57% |
Lalit Chandivade | 12 | 7.06% | 1 | 14.29% |
Vikas Chaudhary | 11 | 6.47% | 1 | 14.29% |
Mike Christie | 9 | 5.29% | 1 | 14.29% |
Total | 170 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 15 | 83.33% | 1 | 33.33% |
Manish Rangankar | 2 | 11.11% | 1 | 33.33% |
Lalit Chandivade | 1 | 5.56% | 1 | 33.33% |
Total | 18 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Lalit Chandivade | 169 | 71.61% | 2 | 28.57% |
Mike Christie | 33 | 13.98% | 1 | 14.29% |
Nilesh Javali | 21 | 8.90% | 2 | 28.57% |
Manish Rangankar | 13 | 5.51% | 2 | 28.57% |
Total | 236 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Manish Rangankar | 295 | 100.00% | 1 | 100.00% |
Total | 295 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 345 | 28.05% | 15 | 45.45% |
Manish Rangankar | 339 | 27.56% | 3 | 9.09% |
David C Somayajulu | 317 | 25.77% | 1 | 3.03% |
Lalit Chandivade | 67 | 5.45% | 3 | 9.09% |
Prasanna Mumbai | 43 | 3.50% | 1 | 3.03% |
Nilesh Javali | 42 | 3.41% | 3 | 9.09% |
Mike Christie | 26 | 2.11% | 1 | 3.03% |
Adheer Chandravanshi | 17 | 1.38% | 2 | 6.06% |
Manish Dusane | 15 | 1.22% | 1 | 3.03% |
Poornima Vonti | 9 | 0.73% | 1 | 3.03% |
Kees Cook | 5 | 0.41% | 1 | 3.03% |
Tej Parkash | 5 | 0.41% | 1 | 3.03% |
Total | 1230 | 100.00% | 33 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Karen Higgins | 156 | 100.00% | 1 | 100.00% |
Total | 156 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 233 | 100.00% | 1 | 100.00% |
Total | 233 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 98 | 98.99% | 1 | 50.00% |
Vikas Chaudhary | 1 | 1.01% | 1 | 50.00% |
Total | 99 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 46 | 40.71% | 2 | 16.67% |
Vikas Chaudhary | 22 | 19.47% | 4 | 33.33% |
Manish Rangankar | 13 | 11.50% | 1 | 8.33% |
Mike Christie | 10 | 8.85% | 1 | 8.33% |
Karen Higgins | 7 | 6.19% | 1 | 8.33% |
Tej Parkash | 5 | 4.42% | 1 | 8.33% |
Lalit Chandivade | 5 | 4.42% | 1 | 8.33% |
Adheer Chandravanshi | 5 | 4.42% | 1 | 8.33% |
Total | 113 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 74 | 81.32% | 1 | 25.00% |
Yang Hongyang | 16 | 17.58% | 2 | 50.00% |
Adrian Bunk | 1 | 1.10% | 1 | 25.00% |
Total | 91 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 35 | 42.68% | 1 | 25.00% |
Manish Rangankar | 26 | 31.71% | 1 | 25.00% |
Vikas Chaudhary | 20 | 24.39% | 1 | 25.00% |
Christoph Hellwig | 1 | 1.22% | 1 | 25.00% |
Total | 82 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 88 | 77.88% | 1 | 50.00% |
Vikas Chaudhary | 25 | 22.12% | 1 | 50.00% |
Total | 113 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 70 | 56.91% | 1 | 33.33% |
Lalit Chandivade | 50 | 40.65% | 1 | 33.33% |
Vikas Chaudhary | 3 | 2.44% | 1 | 33.33% |
Total | 123 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 53 | 98.15% | 1 | 50.00% |
Vikas Chaudhary | 1 | 1.85% | 1 | 50.00% |
Total | 54 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 88 | 80.00% | 1 | 50.00% |
Mike Christie | 22 | 20.00% | 1 | 50.00% |
Total | 110 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 261 | 86.14% | 3 | 50.00% |
Mike Christie | 34 | 11.22% | 1 | 16.67% |
Hannes Reinecke | 7 | 2.31% | 1 | 16.67% |
Lucas De Marchi | 1 | 0.33% | 1 | 16.67% |
Total | 303 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 233 | 85.66% | 2 | 28.57% |
Mike Christie | 22 | 8.09% | 2 | 28.57% |
Vikas Chaudhary | 12 | 4.41% | 1 | 14.29% |
Jens Axboe | 3 | 1.10% | 1 | 14.29% |
Hannes Reinecke | 2 | 0.74% | 1 | 14.29% |
Total | 272 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Mike Christie | 199 | 82.23% | 2 | 50.00% |
David C Somayajulu | 40 | 16.53% | 1 | 25.00% |
Jens Axboe | 3 | 1.24% | 1 | 25.00% |
Total | 242 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Sarang Radke | 25 | 100.00% | 1 | 100.00% |
Total | 25 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 120 | 46.33% | 1 | 10.00% |
Vikas Chaudhary | 101 | 39.00% | 4 | 40.00% |
Sarang Radke | 21 | 8.11% | 1 | 10.00% |
Mike Christie | 12 | 4.63% | 1 | 10.00% |
Manish Rangankar | 3 | 1.16% | 1 | 10.00% |
Lucas De Marchi | 1 | 0.39% | 1 | 10.00% |
Hannes Reinecke | 1 | 0.39% | 1 | 10.00% |
Total | 259 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 255 | 100.00% | 1 | 100.00% |
Total | 255 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Vikas Chaudhary | 235 | 100.00% | 4 | 100.00% |
Total | 235 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Lalit Chandivade | 140 | 91.50% | 1 | 33.33% |
Vikas Chaudhary | 10 | 6.54% | 1 | 33.33% |
David C Somayajulu | 3 | 1.96% | 1 | 33.33% |
Total | 153 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Lalit Chandivade | 35 | 100.00% | 1 | 100.00% |
Total | 35 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Lalit Chandivade | 460 | 72.44% | 1 | 10.00% |
Vikas Chaudhary | 81 | 12.76% | 4 | 40.00% |
Poornima Vonti | 34 | 5.35% | 1 | 10.00% |
Tej Parkash | 30 | 4.72% | 1 | 10.00% |
Manish Rangankar | 15 | 2.36% | 1 | 10.00% |
Nilesh Javali | 11 | 1.73% | 1 | 10.00% |
Mike Christie | 4 | 0.63% | 1 | 10.00% |
Total | 635 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Lalit Chandivade | 157 | 96.32% | 1 | 25.00% |
Vikas Chaudhary | 5 | 3.07% | 2 | 50.00% |
Lucas De Marchi | 1 | 0.61% | 1 | 25.00% |
Total | 163 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Lalit Chandivade | 85 | 100.00% | 1 | 100.00% |
Total | 85 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 142 | 92.81% | 1 | 33.33% |
Christoph Hellwig | 10 | 6.54% | 1 | 33.33% |
Andrew Vasquez | 1 | 0.65% | 1 | 33.33% |
Total | 153 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
David C Somayajulu | 26 | 100.00% | 1 | 100.00% |
Total | 26 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Adheer Chandravanshi | 19969 | 43.44% | 21 | 11.60% |
Harish Zunjarrao | 5538 | 12.05% | 2 | 1.10% |
Manish Rangankar | 4553 | 9.90% | 14 | 7.73% |
Vikas Chaudhary | 4540 | 9.88% | 55 | 30.39% |
Mike Christie | 4294 | 9.34% | 23 | 12.71% |
Lalit Chandivade | 2568 | 5.59% | 9 | 4.97% |
David C Somayajulu | 2242 | 4.88% | 5 | 2.76% |
Nilesh Javali | 1473 | 3.20% | 12 | 6.63% |
Tej Parkash | 202 | 0.44% | 7 | 3.87% |
Karen Higgins | 181 | 0.39% | 3 | 1.66% |
Sarang Radke | 87 | 0.19% | 2 | 1.10% |
Michael Hernandez | 57 | 0.12% | 1 | 0.55% |
Prasanna Mumbai | 44 | 0.10% | 1 | 0.55% |
Poornima Vonti | 43 | 0.09% | 2 | 1.10% |
Dan Carpenter | 41 | 0.09% | 1 | 0.55% |
Shyam Sunder | 32 | 0.07% | 1 | 0.55% |
Yang Hongyang | 16 | 0.03% | 2 | 1.10% |
Manish Dusane | 15 | 0.03% | 1 | 0.55% |
Christoph Hellwig | 12 | 0.03% | 2 | 1.10% |
Hannes Reinecke | 10 | 0.02% | 1 | 0.55% |
Rickard Strandqvist | 7 | 0.02% | 1 | 0.55% |
Jens Axboe | 6 | 0.01% | 1 | 0.55% |
Kees Cook | 5 | 0.01% | 1 | 0.55% |
Benoit Taine | 5 | 0.01% | 1 | 0.55% |
Adrian Bunk | 4 | 0.01% | 1 | 0.55% |
Andrew Vasquez | 4 | 0.01% | 1 | 0.55% |
Lucas De Marchi | 3 | 0.01% | 1 | 0.55% |
Tejun Heo | 3 | 0.01% | 1 | 0.55% |
Jeff Garzik | 3 | 0.01% | 1 | 0.55% |
Oleksandr Khoshaba | 2 | 0.00% | 1 | 0.55% |
Anand Gadiyar | 2 | 0.00% | 1 | 0.55% |
Christoph Lameter | 2 | 0.00% | 1 | 0.55% |
Al Viro | 1 | 0.00% | 1 | 0.55% |
Cao jin | 1 | 0.00% | 1 | 0.55% |
Masanari Iida | 1 | 0.00% | 1 | 0.55% |
Stephen Hemminger | 1 | 0.00% | 1 | 0.55% |
Total | 45967 | 100.00% | 181 | 100.00% |