{"shas":[["13a471f68dcc4e94a45f40038e11e5a2fe992884","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: find vdis from old epoch directories too\n\nThe latest epoch directory may not contain all the vdi objects if the\nnode crashed before completing the object recovery.  To avoid data\nloss, it is better to find vdi objects from older epoch directories\ntoo.\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"],["713b82fde75f363e2d6bb13d055207245c4437a5","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: setup node_list_entry before starting object recovery\n\nThis avoids redundant disk access and simplifies recovery codes.\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"],["fe0cfa7a84de96a6c38e52a16138d19d471a323e","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: remove object list file\n\nSheepdog creates a object list file (*.list) when the epoch is\nchanged.  This file is used for the response of SD_OP_GET_OBJ_LIST.\nBut when many nodes are added to the cluster at the same time, it\ntakes a long time to create a many list files, and SD_OP_GET_OBJ_LIST\ncan result in a timeout error.\n\nThis patch completely removes the object list file from Sheepdog.  In\nthe response of SD_OP_GET_OBJ_LIST, sheep simply calls readdir() on\nthe store directory, and lists all the object id stored on the local\nnode.\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"],["e8a9c5f2ae6dec1ac85de825f03925c08857976d","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: allow zone id to be zero\n\nCurrently, the default zone id is the corosync node id, so zero is not\na special number.\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"],["5bf919f26c68ed9aee2f4de343b30c9917101a54","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: fix a wrong error check of exec_req()\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"],["aa40151cc6e4b004fabc786e8d5250e714b7c65b","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: use multiple work queues\n\nCurrently, Sheepdog uses only one work queue.  So if many VMs send a\nforwarding requests to sheep daemons at the same time and they consume\nall the worker threads, it will cause freeze of Sheepdog.\n\nThe simplest way to solve this problem is that Sheepdog uses multiple\nwork queues and puts forwarding requests and I/O requests into\ndifferent queues.\n\nThis also solves the problem that sheep daemons use too many socket\ndescriptors on the large cluster environment.\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"],["f2d8f853e3d04d9396542f00c4366bb360ad8bd9","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: handle CPG_EVENT_REQUEST even if CPG_EVENT_DELIVER exists\n\nThis patch prevents a CPG_EVENT_DELIVER event from blocking VM I/Os.\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"],["c2c3f4b15c6e6034cf1caee0127d0b73d7d77f0e","bbd3530b0f5f378e2b40164c99e36f2c5172a70e@lab.ntt.co.jp","sheep: handle CPG_EVENT_DELIVER even if there are outstanding I/Os\n\nThis patch prevents VM I/Os from blocking a CPG_EVENT_DELIVER event.\n\nSigned-off-by: MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>","MORITA Kazutaka"]],"ref":"refs/heads/master","size":8,"head":"c2c3f4b15c6e6034cf1caee0127d0b73d7d77f0e","push_id":41652641}