{"push_id":3022783550,"size":36,"distinct_size":0,"ref":"refs/heads/lustre/lustre-testing","head":"7af4f288070dbc98bde6b753a99904968a5ccae8","before":"fc27358ac4878c4f22a33f988a0b647f4d2829b3","commits":[{"sha":"cde36ac30d4ea3c2eeefda9d66ab8e037a505ffa","author":{"name":"James Simmons","email":"345008440c885d4763d50f58e545b9839f60f79f@infradead.org"},"message":"lustre: remove iter type from iov_iter_[b|k]vec()\n\nThe linux commit aa563d7bca6e (\"iov_iter: Separate type from\ndirection and use accessor functions) removed the iter type\nfrom both iov_iter_bvec() and iov_iter_kvec(). Update lustre\nto this change. Without it we see in testing:\n\nWARNING: CPU: 2 PID: 3088 at lib/iov_iter.c:1082 iov_iter_kvec+0x25/0x30\n\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/cde36ac30d4ea3c2eeefda9d66ab8e037a505ffa"},{"sha":"7374c026686c3a4fea088c4e20295aa32e8a3456","author":{"name":"Lai Siyao","email":"3de0ff1f562be7153cd883e1be3e88580ec32e8b@whamcloud.com"},"message":"lustre: ptlrpc: missing barrier before wake_up\n\nptlrpc_client_wake_req() misses a memory barrier, which may cause\nstrange errors.\n\nSigned-off-by: Lai Siyao <lai.siyao@whamcloud.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-8935\nReviewed-on: https://review.whamcloud.com/26583\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: Wang Shilong <wshilong@ddn.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/7374c026686c3a4fea088c4e20295aa32e8a3456"},{"sha":"9f505fb63fb589799214c7b842660be5561f7f44","author":{"name":"Doug Oucharek","email":"bca520f86fd9af67768f5497ce58065c1851bc91@me.com"},"message":"lustre: ptlrpc: Do not assert when bd_nob_transferred != 0\n\nThere is a case in the routine ptlrpc_register_bulk() where we were\nasserting if bd_nob_transferred != 0 when not resending.  There is\nevidence that network errors can create a situation where\nthis does happen. So we should not be asserting!\n\nThis patch changes that assert to an error return code of -EIO.\n\nSigned-off-by: Doug Oucharek <dougso@me.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9828\nReviewed-on: https://review.whamcloud.com/28491\nReviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>\nReviewed-by: Sonia Sharma <sharmaso@whamcloud.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/9f505fb63fb589799214c7b842660be5561f7f44"},{"sha":"0f23612f91678aaa669386621b44cd8436ad4700","author":{"name":"James Simmons","email":"345008440c885d4763d50f58e545b9839f60f79f@infradead.org"},"message":"lustre: uapi: add back LUSTRE_MAXFSNAME to lustre_user.h\n\nThe work to turn lustre_param.h into a proper UAPI header\nremoved various user land functions used to validate poolnames\nand file system names. The checks instead were enforced on the\nkernel side to ensure any possible user land software directly\ninterfacing to the kernel wouldn't be able to break things badly.\nFor the case of formating the backend file system no kernel\ninteraction doesn't happen until it tries to mount the MDT/OST/MGT\nwhich is very late in the process. So for this case lets add back\nthe file system name verification to userland. With bringing this\nback LUSTRE_MAXFSNAME is needed again since it used by both user\nland and kernel. For the kernel side use LUSTRE_MAXFSNAME instead\nof the raw number in the function server_name2fsname() located in\nobd_mount.c.\n\nSigned-off-by: James Simmons <uja.ornl@yahoo.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9767\nReviewed-on: https://review.whamcloud.com/28070\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: John L. Hammond <jhammond@whamcloud.com>\nReviewed-by: Fan Yong <fan.yong@intel.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/0f23612f91678aaa669386621b44cd8436ad4700"},{"sha":"c74e2868ec494c14bc8bce4b1486e84bfe86d266","author":{"name":"Andriy Skulysh","email":"1f128f1bfa05fd14398698e1ba13d3d9757b427a@cray.com"},"message":"lustre: ldlm: ELC shouldn't wait on lock flush\n\nThe commit 08fd034670b5 (\"staging: lustre: ldlm: revert the changes\nfor lock canceling policy\") removed the fix for LU-4300 when lru_resize\nis disabled.\n\nIntroduce ldlm_cancel_aged_no_wait_policy to be used by ELC.\n\nSigned-off-by: Andriy Skulysh <c17819@cray.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-8578\nSeagate-bug-id: MRP-3662\nReviewed-on: https://review.whamcloud.com/22286\nReviewed-by: Vitaly Fertman <c17818@cray.com>\nReviewed-by: Patrick Farrell <paf@cray.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/c74e2868ec494c14bc8bce4b1486e84bfe86d266"},{"sha":"71128e2d4fc5834e58a3213b8fabe521d956ab5d","author":{"name":"Jinshan Xiong","email":"4f9c0b864b7f9eb8a22fd0e8ad685c34bbc01268@gmail.com"},"message":"lustre: llite: pipeline readahead better with large I/O\n\nFixed a bug where next readahead is not set correctly when\nappplication issues large I/O;\nExtend the readahead window length to at least cover the size of\ncurrent I/O.\n\nSigned-off-by: Jinshan Xiong <jinshan.xiong@gmail.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9574\nReviewed-on: https://review.whamcloud.com/27388\nReviewed-by: Bobi Jam <bobijam@hotmail.com>\nReviewed-by: Patrick Farrell <paf@cray.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/71128e2d4fc5834e58a3213b8fabe521d956ab5d"},{"sha":"dc4032e2a01f4fe68b0c7cb982aefdb174ae5581","author":{"name":"Henri Doreau","email":"4609a1c634e96ee5a9ea78f961ec669faa8596cf@cea.fr"},"message":"lustre: hsm: add kkuc before sending registration RPCs\n\nThis avoids a situation where the registration completes and the CDT\nsends HSM actions just before the kkuc registration happens. In this\ncase the client drops the actions because there are no CT pipes in the\nkkuc list.\n\nSigned-off-by: Henri Doreau <henri.doreau@cea.fr>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9416\nReviewed-on: https://review.whamcloud.com/28751\nReviewed-by: John L. Hammond <jhammond@whamcloud.com>\nReviewed-by: Faccini Bruno <bruno.faccini@intel.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/dc4032e2a01f4fe68b0c7cb982aefdb174ae5581"},{"sha":"eef9c4bd8bcda8edb78b2f1cdc6534a9ace4e2f4","author":{"name":"Andreas Dilger","email":"fd4823dd86d134508df78a168e24c446ce7699f3@whamcloud.com"},"message":"lustre: mdc: improve mdc_enqueue() error message\n\nInclude the parent/child FIDs and name in the mdc_enqueue()\ndebug message.\n\nSigned-off-by: Andreas Dilger <adilger@whamcloud.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-4705\nReviewed-on: https://review.whamcloud.com/28978\nReviewed-by: Steve Guminski <stephenx.guminski@intel.com>\nReviewed-by: Yang Sheng <ys@whamcloud.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/eef9c4bd8bcda8edb78b2f1cdc6534a9ace4e2f4"},{"sha":"a16f5f63b502e60c7dca2ad3c819f7cc908605c5","author":{"name":"Patrick Farrell","email":"ee3717503d44179dc77c7c9f6368d8774adc4de7@cray.com"},"message":"lustre: llite: Update i_nlink on unlink\n\nCurrently, the client inode link count is not updated on\nlast unlink.  This is fine because the dentries are all\ngone and the inode is eligible for reclaim, but it's still\nincorrect.  This causes two problems:\n\n1. Inode is not immediately reclaimed\n2. i_nlink count is > 0 for a fully unlinked file, which\n   confuses wrapfs\n\nOn last unlink, the MDT sends back attributes.  Use the\nnlink count from these to update the client inode.\n\nRemove null check inherited from ll_get_child_fid, because\nthe inode should never be null on an unlink.\n\nSigned-off-by: Patrick Farrell <paf@cray.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-10131\nReviewed-on: https://review.whamcloud.com/29651\nReviewed-by: Ben Evans <bevans@cray.com>\nReviewed-by: Alexey Lyashkov <c17817@cray.com>\nReviewed-by: Andrew Perepechko <c17827@cray.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/a16f5f63b502e60c7dca2ad3c819f7cc908605c5"},{"sha":"cc19bd1ab75cd39916ad710a1cf87edbc78cb494","author":{"name":"Alex Zhuravlev","email":"9b13764568f8dfa6bd05a68ee31bd0207e33493c@whamcloud.com"},"message":"lustre: llite: use security context if it's enabled in the kernel\n\nif it's disabled, then Lustre stop to work properly (can not create\nfiles, etc)\n\nSigned-off-by: Alex Zhuravlev <bzzz@whamcloud.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9578\nReviewed-on: https://review.whamcloud.com/27364\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: Chris Horn <hornc@cray.com>\nReviewed-by: James Simmons <uja.ornl@yahoo.com>\nReviewed-by: Sebastien Buisson <sbuisson@ddn.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/cc19bd1ab75cd39916ad710a1cf87edbc78cb494"},{"sha":"75230c3db7241d35d87279024299597fa5c0d049","author":{"name":"Alex Zhuravlev","email":"9b13764568f8dfa6bd05a68ee31bd0207e33493c@whamcloud.com"},"message":"lustre: ptlrpc: do not wakeup every second\n\nEven if there are no RPC requests on the set, there is no need to\nwake up every second. The thread is woken up when a request is added\nto the set or when the STOP bit is set, so it is sufficient to only\nwake up when there are requests on the set to worry about.\n\nSigned-off-by: Alex Zhuravlev <bzzz@whamcloud.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9660\nReviewed-on: https://review.whamcloud.com/28776\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: Patrick Farrell <paf@cray.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/75230c3db7241d35d87279024299597fa5c0d049"},{"sha":"01a080ec7595a027bbc7ad0dfda7e59252228f9b","author":{"name":"Jinshan Xiong","email":"4f9c0b864b7f9eb8a22fd0e8ad685c34bbc01268@gmail.com"},"message":"lustre: ldlm: check lock cancellation in ldlm_cli_cancel()\n\nIn that case, the assert for 'list_empty(&lock->l_bl_ast)' will fail\nbecause the lock is already in a cancel list.\n\nThis patch checks if the lock is already being canceled in prior.\n\nSigned-off-by: Jinshan Xiong <jinshan.xiong@gmail.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9997\nReviewed-on: https://review.whamcloud.com/29080\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: Bobi Jam <bobijam@hotmail.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/01a080ec7595a027bbc7ad0dfda7e59252228f9b"},{"sha":"13d350ee5c620efd80b36b4f05e4bfe4adc355fe","author":{"name":"Bob Glossman","email":"67e548fbeaf191ffde66fc5ef46cd49dbf7d7d6a@intel.com"},"message":"lustre: ptlrpc: handle case of epp_free_pages <= PTLRPC_MAX_BRW_PAGES\n\nCurrent code where page_pools.epp_free_pages is too small isn't\nhandled correctly. This mod fixes those instances.\n\nSigned-off-by: Bob Glossman <bob.glossman@intel.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9458\nReviewed-on: https://review.whamcloud.com/27016\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: John L. Hammond <jhammond@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/13d350ee5c620efd80b36b4f05e4bfe4adc355fe"},{"sha":"af992c48c8452bc2a3f0f97668cf37da7a81d161","author":{"name":"Frank Zago","email":"436a28a1a7a1504f1ea673b92e32df84d67f23e3@cray.com"},"message":"lustre: llite: fix for stat under kthread and X86_X32\n\nUnder the following conditions, ll_getattr will flatten the inode\nnumber when it shouldn't:\n\n - the X86_X32 architecture is defined CONFIG_X86_X32, and not even\n   used,\n - ll_getattr is called from a kernel thread (though vfs_getattr for\n   instance.)\n\nThis has the result that inode numbers are different whether the same\nfile is stat'ed from a kernel thread, or from a syscall. For instance,\n4198401 vs. 144115205272502273.\n\nll_getattr calls ll_need_32bit_api to determine whether the task is 32\nbits. When the combination is kthread+X86_X32, that function returns\nthat the task is 32 bits, which is incorrect, as the kernel is 64\nbits.\n\nThe solution is to check whether the call is from a kernel thread\n(which is 64 bits) and act consequently.\n\nSigned-off-by: Frank Zago <fzago@cray.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9468\nReviewed-on: https://review.whamcloud.com/26992\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/af992c48c8452bc2a3f0f97668cf37da7a81d161"},{"sha":"0f5cdd07908116d037686ed8d2db6a1feb517ff1","author":{"name":"Lai Siyao","email":"3de0ff1f562be7153cd883e1be3e88580ec32e8b@whamcloud.com"},"message":"lustre: statahead: missing barrier before wake_up\n\nA barrier is missing before wake_up() in ll_statahead_interpret(),\nwhich may cause 'ls' hang. Under the right conditions a basic 'ls'\ncan fail. The debug logs show:\n\nstatahead.c:683:ll_statahead_interpret()) sa_entry software rc -13\nstatahead.c:1666:ll_statahead()) revalidate statahead software: -11.\n\nObviously statahead failure didn't notify 'ls' process in time.\nThe mi_cbdata can be stale so add a barrier before calling\nwake_up().\n\nneilb: change to use smp_store_release() in a more appropriate\nlocation, and a matching smp_load_acquire().\n\nSigned-off-by: Lai Siyao <lai.siyao@whamcloud.com>\nSigned-off-by: Bob Glossman <bob.glossman@intel.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-9210\nReviewed-on: https://review.whamcloud.com/27330\nReviewed-by: Nathaniel Clark <nclark@whamcloud.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/0f5cdd07908116d037686ed8d2db6a1feb517ff1"},{"sha":"1b628f52e43034d795f44c1f6a13c33b3c08e093","author":{"name":"Patrick Farrell","email":"ee3717503d44179dc77c7c9f6368d8774adc4de7@cray.com"},"message":"lustre: ldlm: Make lru clear always discard read lock pages\n\nA significant amount of time is sometimes spent during\nlru clearing (IE, echo 'clear' > lru_size) checking\npages to see if they are covered by another read lock.\nSince all unused read locks will be destroyed by this\noperation, the pages will be freed momentarily anyway,\nand this is a waste of time.\n\nThis patch sets the LDLM_FL_DISCARD_DATA flag on all the PR\nlocks which are slated for cancellation by\nldlm_prepare_lru_list when it is called from\nldlm_ns_drop_cache.\n\nThe case where another lock covers those pages (and is in\nuse and so does not get cancelled by lru clear) is safe for\na few reasons:\n\n1. When discarding pages, we wait (discard_cb->cl_page_own)\n   until they are in the cached state before invalidating.\n   So if they are actively in use, we'll wait until that use\n   is done.\n\n2. Removal of pages under a read lock is something that can\n   happen due to memory pressure, since these are VFS cache\n   pages. If a client reads something which is then removed\n   from the cache and goes to read it again, this will simply\n   generate a new read request.\n\nThis has a performance cost for that reader, but if anyone\nis clearing the ldlm lru while actively doing I/O in that\nnamespace, then they cannot expect good performance.\n\nIn the case of many read locks on a single resource, this\nimproves cleanup time dramatically.  In internal testing at\nCray with ~80,000 read locks on a single file, this improves\ncleanup time from ~60 seconds to ~0.5 seconds.  This also\nslightly improves cleanup speed in the case of 1 or a few\nread locks on a file.\n\nSigned-off-by: Patrick Farrell <paf@cray.com>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-8276\nReviewed-on: https://review.whamcloud.com/20785\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: Jinshan Xiong <jinshan.xiong@gmail.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/1b628f52e43034d795f44c1f6a13c33b3c08e093"},{"sha":"37376cdd22e6324992bc0f4d1f00c6b02a1351e0","author":{"name":"Henri Doreau","email":"4609a1c634e96ee5a9ea78f961ec669faa8596cf@cea.fr"},"message":"lustre: mdc: expose changelog through char devices\n\nRegister one character device per MDT in order to allow non-llapi to\nread them and to make delivery more efficient.\n\n- open() spawns a thread to prefetch records and enqueue them into a\n  local buffer (unless the device is open in write-only mode).\n- lseek() can be used to jump to a specific record, in which case the\n  offset is a record number (with SEEK_SET) or a number of records to\n  skip (SEEK_CUR). Movement can only be done forward.\n- read() copies records to userland. No truncation happens, so short\n  reads are likely.\n- write() is used to transmit control commands to the device.\n  The only available one is changelog_clear, which is done by writing\n  \"clear:cl<user>:<recno>\" into the device.\n- close() terminates the prefetch thread if any, and releases resources.\n\nIt is possible to poll() on the device to get notified when new records\nare available for read.\n\nSigned-off-by: Henri Doreau <henri.doreau@cea.fr>\nWC-bug-id: https://jira.whamcloud.com/browse/LU-7659\nReviewed-on: https://review.whamcloud.com/18900\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: John L. Hammond <jhammond@whamcloud.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/37376cdd22e6324992bc0f4d1f00c6b02a1351e0"},{"sha":"0fab20631fbe21d6c6036df548c53dd89763cd3e","author":{"name":"Henri Doreau","email":"4609a1c634e96ee5a9ea78f961ec669faa8596cf@cea.fr"},"message":"LU-10166 mdc: invalid free in changelog reader\n\nUse kthread_stop() to instruct the producer thread to exit\nwhen the device is closed, and only then: release the CRS\nstructure.\n\nThe previous implementation left small time windows open,\nduring which the producer threads could free a structure\nbefore the consumer thread was completely done with it.\n\nChange-Id: Id2038aa9b7fcfd2c3347f628e749f9d2c265ac6e\nSigned-off-by: Henri Doreau <henri.doreau@cea.fr>\nReviewed-on: https://review.whamcloud.com/29818\nReviewed-by: John L. Hammond <john.hammond@intel.com>\nReviewed-by: Quentin Bouget <quentin.bouget@cea.fr>\nTested-by: Jenkins\nTested-by: Maloo <hpdd-maloo@intel.com>\nReviewed-by: Oleg Drokin <oleg.drokin@intel.com>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/0fab20631fbe21d6c6036df548c53dd89763cd3e"},{"sha":"5d1d75e04cc004a5627c2643425e80c38e2aa1ad","author":{"name":"NeilBrown","email":"1c00aa603bb92d594c03cff60ecf8e63b2a5bcb1@suse.com"},"message":"lustre: mdc: fix possible deadlock in chlg_open()\n\nLockdep reports a possible deadlock between chlg_open() and\nmdc_changelog_cdev_init()\n\nmdc_changelog_cdev_init() takes chlg_registered_dev_lock and then\ncalls misc_register() which takes misc_mtx.\nchlg_open() is called while misc_mtx is held, and tries to take\nchlg_registered_dev_lock.\nIf these two functions race, a deadlock can occur as each thread will\nhold one of the locks while trying to take the other.\n\nchlg_open() does not need to take a lock.  It only uses the\nlock to stablize a list while looking for the matching\nchlg_registered_dev, and this can be found directly by examining\nfile->private_data.\n\nSo remove chlg_obd_get(), and use file->private_data to find the\nobd_device.\nAlso ensure the device is fully initialized before calling\nmisc_register().  This means setting up some list linkage before the\ncall, and tearing it down if there is an error.\n\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/5d1d75e04cc004a5627c2643425e80c38e2aa1ad"},{"sha":"307623c2ed3148b7582c8b9fb70ae03b8ce74ac1","author":{"name":"James Simmons","email":"345008440c885d4763d50f58e545b9839f60f79f@infradead.org"},"message":"lustre: uapi: add missing headers in lustre UAPI headers\n\nA test move was done in the linux kernel that moved the UAPI headers\nto their proper place. Errors were reported mainly due to\nlinux/types.h being missing. Add in linux/types.h to prepare for the\nmove out of staging.\n\nSigned-off-by: James Simmons <uja.ornl@yahoo.com>\nWC-bug-id: https://jira.whamcloud.com/browse/\nReviewed-on: https://review.whamcloud.com/31737\nReviewed-by: Andreas Dilger <adilger@whamcloud.com>\nReviewed-by: James Nunez <jnunez@whamcloud.com>\nReviewed-by: Oleg Drokin <green@whamcloud.com>\nSigned-off-by: James Simmons <jsimmons@infradead.org>\nSigned-off-by: NeilBrown <neilb@suse.com>","distinct":false,"url":"https://api.github.com/repos/neilbrown/linux/commits/307623c2ed3148b7582c8b9fb70ae03b8ce74ac1"}]}
{"actor":{"display_login":"neilbrown"}}