{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1333552,"defaultBranch":"master","name":"libnfs","ownerLogin":"sahlberg","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-02-06T04:41:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/494992?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1723674409.0","currentOid":""},"activityList":{"items":[{"before":"0953066938d257ece372d141006ddc756901c972","after":"0eba70b78a097dab5cb7bdbe988e9d008ca1b98b","ref":"refs/heads/master","pushedAt":"2024-08-28T07:01:25.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Handle failed NFS response for zero copy reads\n\nCurrently we go ahead and try to read the data which causes it to fail\nand initiates a reconnect. Caller never gets a response for such failed\nREAD pdus.\n\n(cherry picked from commit ab56f5c7c16ff985448117c13b5d01a37cfb4999)\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Handle failed NFS response for zero copy reads"}},{"before":"6ff65cb192be03fbbea4ed4bdb63b73b89f7a41a","after":"0953066938d257ece372d141006ddc756901c972","ref":"refs/heads/master","pushedAt":"2024-08-27T07:37:36.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Exclude requests timing out in outqueue from causing major recovery (reconnect)\n\nRequests that timeout in outqueue have not been sent to server and hence they\ndo not signifiy any issue with the server. Yes they may indicate issue with the\nserver indirectly since requests ahead of them did not get responses, but any\ncorrective action is taken on behalf of those requests which have been sent to\nserver.\nAlso added a new stats member num_timedout_in_outqueue to convey this to application.\n\n(cherry picked from commit 9bc3bab16713d1b6d244dcd5ce07d92525af36e2)\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Exclude requests timing out in outqueue from causing major recovery (…"}},{"before":"957dc391d21457bd6ac137fe0ca0ef196512d991","after":"6ff65cb192be03fbbea4ed4bdb63b73b89f7a41a","ref":"refs/heads/master","pushedAt":"2024-08-17T22:29:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"rename the builtin strndup to libnfs_strndup on MINGW32\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"rename the builtin strndup to libnfs_strndup on MINGW32"}},{"before":"768f88fb57a6613028587b290a0b7d1766106301","after":"957dc391d21457bd6ac137fe0ca0ef196512d991","ref":"refs/heads/master","pushedAt":"2024-08-16T07:41:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"rename pdu_stat.[enqueue|send]_time to ..._timestamp\n\nSo we make it more clear that [enqueue|send]_timestamp is the timestamp when\nthese two events occured and that response_time is different, i.e. the\nrelative time between when a request was sent to the server and the response\nwas received.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"rename pdu_stat.[enqueue|send]_time to ..._timestamp"}},{"before":"93aead05b26b1398d2ea4683555f91af2abcbce4","after":"768f88fb57a6613028587b290a0b7d1766106301","ref":"refs/heads/master","pushedAt":"2024-08-16T02:00:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Invoke the stats_cb callback for CALLs when we have written the PDU to network\n\ninstead of when it is enqueued.\nAlso change the pdu stats timestamps to us instead of ms.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Invoke the stats_cb callback for CALLs when we have written the PDU t…"}},{"before":"ec6248585b63f7286e6070a8e38da0e9e6efe296","after":"93aead05b26b1398d2ea4683555f91af2abcbce4","ref":"refs/heads/master","pushedAt":"2024-08-16T00:29:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Add rpc_get_pdu_stats()\n\nThis function is only valid when called from the callback from a\nrpc_..._task() call and will return the PDU stats for the current PDU\nthat is being processed.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Add rpc_get_pdu_stats()"}},{"before":"e6065ceb080942b9ef58429ee78a6f38e2c18cec","after":"ec6248585b63f7286e6070a8e38da0e9e6efe296","ref":"refs/heads/master","pushedAt":"2024-08-15T20:11:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Change logging to use an application callback instead of writing to stderr\n\nStderr/filedescriptor 2 does not exist for daemons (fork twice and close\nall file descriptors) or embedded systems that might not even have a console\nor a filesystem to write to.\n\nThis fixes RPC_LOG and LOG. Still todo is decide how to handle\nTLS_LOG.\nAll references to stderr must be removed from the library.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Change logging to use an application callback instead of writing to s…"}},{"before":"28ad33aa856513f1a0a0a4327c83b9f850f56ef2","after":"e6065ceb080942b9ef58429ee78a6f38e2c18cec","ref":"refs/heads/master","pushedAt":"2024-08-15T19:18:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"[PATCH] Check that there is actually a callback when reporting errors\n\nIf the PDU belonged to a server replying there would be no callback set\nand the application will crash with a segfault if we make the call without\nchecking the value first.\n\nFrom: David Galeano Corrales \nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"[PATCH] Check that there is actually a callback when reporting errors"}},{"before":"cdcf7cdf942df0d413cfd432628c4451eeecfc30","after":"28ad33aa856513f1a0a0a4327c83b9f850f56ef2","ref":"refs/heads/master","pushedAt":"2024-08-15T06:39:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"reorder calling stat_cb and the pdu->cb\n\nso that we always call rpc->stat_cb before calling pdu->cb.\nNote that the stat_cb callback and the pdu callback are called from\nthe same context and the same function, rpc_process_reply(), this guarantees\nthat when the pdu callback is invoked it is guaranteed that the most recent\nrpc->stat_cb invocation is for the same PDU as what teh pdu callback is\ninvoked for.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"reorder calling stat_cb and the pdu->cb"}},{"before":"572a81d9b5e0af40d7332660eb0cf1a2f0ad2b23","after":"cdcf7cdf942df0d413cfd432628c4451eeecfc30","ref":"refs/heads/master","pushedAt":"2024-08-15T02:17:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Add an example on how to collect stats similar to \"nfsstat\"\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Add an example on how to collect stats similar to \"nfsstat\""}},{"before":"89eb8730536c4724622b75c7f1ca36d0bca6ccbb","after":"572a81d9b5e0af40d7332660eb0cf1a2f0ad2b23","ref":"refs/heads/master","pushedAt":"2024-08-15T00:18:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Stats: Add a callback where applications can collect statistics data\n\nSee examples/nfs-stats-cb.c for an example.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Stats: Add a callback where applications can collect statistics data"}},{"before":"304b7af1ec86a77545417d05be2d443e310590d4","after":"69e53a13c7d4b64785204f21f3ffc9f4fa893a54","ref":"refs/heads/stats-callback","pushedAt":"2024-08-14T22:45:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Stats: Add a callback where applications can collect statistics data\n\nSee examples/nfs-stats-cb.c for an example.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Stats: Add a callback where applications can collect statistics data"}},{"before":null,"after":"304b7af1ec86a77545417d05be2d443e310590d4","ref":"refs/heads/stats-callback","pushedAt":"2024-08-14T22:26:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Stats: Add a callback where applications can collect statistics data\n\nSee examples/nfs-stats-cb.c for an example.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Stats: Add a callback where applications can collect statistics data"}},{"before":"29fe8005a10e4e2e20d89ed3854166fd84e5b82f","after":"89eb8730536c4724622b75c7f1ca36d0bca6ccbb","ref":"refs/heads/master","pushedAt":"2024-08-14T03:16:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Use a constant for the max amount od data we read as preamble for xerocopyread\n\ninstead of just magic numbers\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Use a constant for the max amount od data we read as preamble for xer…"}},{"before":"e0be691f46345f3af172a8bd9d65b768a52441bd","after":"29fe8005a10e4e2e20d89ed3854166fd84e5b82f","ref":"refs/heads/master","pushedAt":"2024-08-14T02:02:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Fix compile bug if LIBKRB5 is not found/used\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Fix compile bug if LIBKRB5 is not found/used"}},{"before":"2d4fb05068d1dcdb6a2b27ca54e9127fb7289708","after":"e0be691f46345f3af172a8bd9d65b768a52441bd","ref":"refs/heads/master","pushedAt":"2024-08-14T01:44:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Update codeql workflow to use checkout version 4\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Update codeql workflow to use checkout version 4"}},{"before":"a806cf3764adf58f2bc610a806f960515dc4ccfd","after":"2d4fb05068d1dcdb6a2b27ca54e9127fb7289708","ref":"refs/heads/master","pushedAt":"2024-08-14T01:37:26.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Handle KRB5P iovectors inside rpc_process_reply instead of in the nfs callbacks\n\nThis means that KRB5P will now also work for applications that\ncall rpc_nfs[3|4]_readv_task directly.\n\nSigned-off-by: sahlberg ","shortMessageHtmlLink":"Handle KRB5P iovectors inside rpc_process_reply instead of in the nfs…"}},{"before":"d61cfdda8f5bf0c0c5b7b90a9cdeaae5ca824c61","after":"a806cf3764adf58f2bc610a806f960515dc4ccfd","ref":"refs/heads/master","pushedAt":"2024-08-13T10:46:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Update KRB5P so we can use it with iovectors\n\nThough at the cost that it will not be zero-copy.\nThis brings the special handling in the pread callback to be identical\nbetween v3 and v4.\n\nSigned-off-by: sahlberg ","shortMessageHtmlLink":"Update KRB5P so we can use it with iovectors"}},{"before":"014095f3ddfe750b16cf38934b26d87976ea10ee","after":"d61cfdda8f5bf0c0c5b7b90a9cdeaae5ca824c61","ref":"refs/heads/master","pushedAt":"2024-08-13T01:40:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Fix KRB5P\n\nKRB5P can not use zero-copy read iovectors.\n\nSigned-off-by: sahlberg ","shortMessageHtmlLink":"Fix KRB5P"}},{"before":"77445a7411b9841f75634fc72b3766c7f1c0fb37","after":"014095f3ddfe750b16cf38934b26d87976ea10ee","ref":"refs/heads/master","pushedAt":"2024-08-12T20:19:25.000Z","pushType":"pr_merge","commitsCount":14,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Merge pull request #485 from linuxsmiths/personal/linuxsmiths/add_vectored_read_write_task\n\nPersonal/linuxsmiths/add vectored read write task","shortMessageHtmlLink":"Merge pull request #485 from linuxsmiths/personal/linuxsmiths/add_vec…"}},{"before":"04440943a80fb28ed183d25107a164c37e7860a1","after":"77445a7411b9841f75634fc72b3766c7f1c0fb37","ref":"refs/heads/master","pushedAt":"2024-08-09T11:40:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"nfs/nfs4 u_int is not the same as uint32_t on all platforms\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"nfs/nfs4 u_int is not the same as uint32_t on all platforms"}},{"before":"db1de4bcd76091ad65527f889533aab5524ebddb","after":"04440943a80fb28ed183d25107a164c37e7860a1","ref":"refs/heads/master","pushedAt":"2024-08-09T07:07:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Update the compile_rpc makefile target to switch u_int to uint32_t\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Update the compile_rpc makefile target to switch u_int to uint32_t"}},{"before":"ba2801039e5f70834d0796e87e95b3910fcb62c8","after":"db1de4bcd76091ad65527f889533aab5524ebddb","ref":"refs/heads/master","pushedAt":"2024-08-09T06:52:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"u_int and uint32_t are different sizes on some platforms\n\nUpdate portmap to always use uint32_t since everything is a 32 bit word\nin onc-rpc anyway.\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"u_int and uint32_t are different sizes on some platforms"}},{"before":"e75148a828dc3c303f828841ec85dfa955cce818","after":"ba2801039e5f70834d0796e87e95b3910fcb62c8","ref":"refs/heads/master","pushedAt":"2024-08-09T06:36:36.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Merge pull request #488 from soffensive/win32exports\n\nUpdate libnfs-win32.def","shortMessageHtmlLink":"Merge pull request #488 from soffensive/win32exports"}},{"before":"9119e889b86e192b4d95de67b64b10cbd974c8c0","after":"e75148a828dc3c303f828841ec85dfa955cce818","ref":"refs/heads/master","pushedAt":"2024-08-09T00:33:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Always set TCP_NODELAY\n\nIt can improve performance in some cases.\n\nA common drawback with TCP_NODELAY is that it may cause additional\nsmall segments to be sent and increase the amount of cpu processing.\nThat is not the case in libnfs as we never write small buffers to the socket\nbut always coalece everything into a large iovec and then send everything\nas a single call to writev()\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Always set TCP_NODELAY"}},{"before":"dad656a72a9fcb79cf913d3a7652bf8e2fb5819d","after":"9119e889b86e192b4d95de67b64b10cbd974c8c0","ref":"refs/heads/master","pushedAt":"2024-08-09T00:18:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Fix potential uninialized variable\n\nSigned-off-by: Ronnie Sahlberg ","shortMessageHtmlLink":"Fix potential uninialized variable"}},{"before":"17ea741c44b2147b4fd9cb34d8f208d756926eb1","after":"dad656a72a9fcb79cf913d3a7652bf8e2fb5819d","ref":"refs/heads/master","pushedAt":"2024-08-03T16:50:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Merge pull request #484 from linuxsmiths/personal/linuxsmiths/api_for_getting_nfs_server_address\n\nAdd API for getting current NFS server address that we are connected to.","shortMessageHtmlLink":"Merge pull request #484 from linuxsmiths/personal/linuxsmiths/api_for…"}},{"before":"f20d962855d5d50a1456b88eb03f03a664bbc099","after":"17ea741c44b2147b4fd9cb34d8f208d756926eb1","ref":"refs/heads/master","pushedAt":"2024-07-30T03:13:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Merge pull request #482 from linuxsmiths/personal/linuxsmiths/pass_mode_to_create\n\nFix release build which requires mode for create call","shortMessageHtmlLink":"Merge pull request #482 from linuxsmiths/personal/linuxsmiths/pass_mo…"}},{"before":"8278ae01a05db052cd08854ae754e4d3a6205910","after":"f20d962855d5d50a1456b88eb03f03a664bbc099","ref":"refs/heads/master","pushedAt":"2024-07-28T09:13:54.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Merge pull request #480 from linuxsmiths/personal/linxsmiths/fix_poll_timeout_typo\n\nFix accidental call to rpc_set_timeout with rpc_set_poll_timeout.","shortMessageHtmlLink":"Merge pull request #480 from linuxsmiths/personal/linxsmiths/fix_poll…"}},{"before":"39e1ae0206fb519c551b48b0e6de57f3e764e886","after":"8278ae01a05db052cd08854ae754e4d3a6205910","ref":"refs/heads/master","pushedAt":"2024-07-27T10:47:21.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"sahlberg","name":"Ronnie Sahlberg","path":"/sahlberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494992?s=80&v=4"},"commit":{"message":"Merge pull request #479 from ffontaine/master\n\nFix include sys/time.h","shortMessageHtmlLink":"Merge pull request #479 from ffontaine/master"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEpigxpwA","startCursor":null,"endCursor":null}},"title":"Activity · sahlberg/libnfs"}