{"action":"created","issue":{"url":"https://api.github.com/repos/mar-file-system/erasureUtils/issues/8","repository_url":"https://api.github.com/repos/mar-file-system/erasureUtils","labels_url":"https://api.github.com/repos/mar-file-system/erasureUtils/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/mar-file-system/erasureUtils/issues/8/comments","events_url":"https://api.github.com/repos/mar-file-system/erasureUtils/issues/8/events","html_url":"https://github.com/mar-file-system/erasureUtils/issues/8","id":216191130,"node_id":"MDU6SXNzdWUyMTYxOTExMzA=","number":8,"title":"libne should be able to support RDMA/non-RDMA in the same build.","user":{"login":"jti-lanl","id":8238841,"node_id":"MDQ6VXNlcjgyMzg4NDE=","avatar_url":"https://avatars2.githubusercontent.com/u/8238841?v=4","gravatar_id":"","url":"https://api.github.com/users/jti-lanl","html_url":"https://github.com/jti-lanl","followers_url":"https://api.github.com/users/jti-lanl/followers","following_url":"https://api.github.com/users/jti-lanl/following{/other_user}","gists_url":"https://api.github.com/users/jti-lanl/gists{/gist_id}","starred_url":"https://api.github.com/users/jti-lanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jti-lanl/subscriptions","organizations_url":"https://api.github.com/users/jti-lanl/orgs","repos_url":"https://api.github.com/users/jti-lanl/repos","events_url":"https://api.github.com/users/jti-lanl/events{/privacy}","received_events_url":"https://api.github.com/users/jti-lanl/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-03-22T20:03:53Z","updated_at":"2018-10-09T21:17:58Z","closed_at":"2018-10-09T21:17:58Z","author_association":"CONTRIBUTOR","body":"The current set-up allows building with RDMA (in which case all libne writes, etc, use the functions that go through the RDMA servers), or without (in which case all writes use POSIX functions, open/write/read/lseek/close/etc.).\r\n\r\n**Will we ever need to be able to access one repo in one way, and another repo in the other?**\r\n\r\nIf we name the back-end directories in any sort-of-computable way, then it should be possible to just drop-in-replace the marfs config to use RDMA to access everything previously written with MC+NFS, without changes.  But there'd be no NFS-friendly repo hanging around, in case of problems.  Repos that were formerly config'ed DAL=MC, would become DAL=MC_SOCKETS.  It would have to happen all at once.\r\n\r\nThe issue with supporting both dynamically (e.g. if we wanted to do a migration, for some reason) is that libne doesn't know anything about MarFS repos.  One feasible but ugly approach would be to have all libne functions (or new wrappers thereof) take an extra argument which is a struct of fn-pointers, and then have libne callers decide which way to go, and pass in appropriate context.  The original API could use defaults, similarly to what we've already done with ne_open1() versus ne_open(), in the \"rdma\" branch.\r\n\r\nOr, because everything is linked statically, we could content ourselves with building two sets of apps, one that has an MC+NFS libne, and one that uses RDMA.  That would allow comparisons between behaviors, but not migrations."},"comment":{"url":"https://api.github.com/repos/mar-file-system/erasureUtils/issues/comments/428355934","html_url":"https://github.com/mar-file-system/erasureUtils/issues/8#issuecomment-428355934","issue_url":"https://api.github.com/repos/mar-file-system/erasureUtils/issues/8","id":428355934,"node_id":"MDEyOklzc3VlQ29tbWVudDQyODM1NTkzNA==","user":{"login":"jti-lanl","id":8238841,"node_id":"MDQ6VXNlcjgyMzg4NDE=","avatar_url":"https://avatars2.githubusercontent.com/u/8238841?v=4","gravatar_id":"","url":"https://api.github.com/users/jti-lanl","html_url":"https://github.com/jti-lanl","followers_url":"https://api.github.com/users/jti-lanl/followers","following_url":"https://api.github.com/users/jti-lanl/following{/other_user}","gists_url":"https://api.github.com/users/jti-lanl/gists{/gist_id}","starred_url":"https://api.github.com/users/jti-lanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jti-lanl/subscriptions","organizations_url":"https://api.github.com/users/jti-lanl/orgs","repos_url":"https://api.github.com/users/jti-lanl/repos","events_url":"https://api.github.com/users/jti-lanl/events{/privacy}","received_events_url":"https://api.github.com/users/jti-lanl/received_events","type":"User","site_admin":false},"created_at":"2018-10-09T21:17:58Z","updated_at":"2018-10-09T21:17:58Z","author_association":"CONTRIBUTOR","body":"Fixed long ago, before marfs 1.10"}}
{"actor":{"display_login":"jti-lanl"}}