{"action":"opened","issue":{"url":"https://api.github.com/repos/ipfs-filestore/go-ipfs/issues/12","repository_url":"https://api.github.com/repos/ipfs-filestore/go-ipfs","labels_url":"https://api.github.com/repos/ipfs-filestore/go-ipfs/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/ipfs-filestore/go-ipfs/issues/12/comments","events_url":"https://api.github.com/repos/ipfs-filestore/go-ipfs/issues/12/events","html_url":"https://github.com/ipfs-filestore/go-ipfs/issues/12","id":171822384,"number":12,"title":"Store multiple DataObjs for the same Block","user":{"login":"jakobvarmose","id":6318968,"avatar_url":"https://avatars.githubusercontent.com/u/6318968?v=3","gravatar_id":"","url":"https://api.github.com/users/jakobvarmose","html_url":"https://github.com/jakobvarmose","followers_url":"https://api.github.com/users/jakobvarmose/followers","following_url":"https://api.github.com/users/jakobvarmose/following{/other_user}","gists_url":"https://api.github.com/users/jakobvarmose/gists{/gist_id}","starred_url":"https://api.github.com/users/jakobvarmose/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakobvarmose/subscriptions","organizations_url":"https://api.github.com/users/jakobvarmose/orgs","repos_url":"https://api.github.com/users/jakobvarmose/repos","events_url":"https://api.github.com/users/jakobvarmose/events{/privacy}","received_events_url":"https://api.github.com/users/jakobvarmose/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-08-18T05:44:18Z","updated_at":"2016-08-18T05:44:18Z","closed_at":null,"body":"Currently only one DataObj will be stored for any given Block. I think it's important to be able to store multiple DataObjs for the same Block.\r\n\r\nExample:\r\n\r\nAssume we add two files (`alpha` and `beta`) to the filestore, but only the DataObj for `beta` is stored. Later we modify or remove `beta` (either from the file system, or directly from the filestore). Now the data is gone even though `alpha` still contains the data we want, and it could be served to other peers. It also seems weird that a DataObj will be removed if you add another one that happens to contain the same data.\r\n\r\nIn practice we would probably not add two files that are completely identical, but they might still have some identical blocks. Or we might add two directories with some files appearing in both. Both of these scenarious seem realistic, and would cause the same problems.\r\n"}}
{"actor":{"display_login":"jakobvarmose"}}