{"action":"created","issue":{"url":"https://api.github.com/repos/ceph/ceph/issues/3702","labels_url":"https://api.github.com/repos/ceph/ceph/issues/3702/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph/issues/3702/comments","events_url":"https://api.github.com/repos/ceph/ceph/issues/3702/events","html_url":"https://github.com/ceph/ceph/pull/3702","id":57327188,"number":3702,"title":"FileStore:: queue_transactions, fine-grain submitManager lock","user":{"login":"mslovy","id":9523883,"avatar_url":"https://avatars.githubusercontent.com/u/9523883?v=3","gravatar_id":"","url":"https://api.github.com/users/mslovy","html_url":"https://github.com/mslovy","followers_url":"https://api.github.com/users/mslovy/followers","following_url":"https://api.github.com/users/mslovy/following{/other_user}","gists_url":"https://api.github.com/users/mslovy/gists{/gist_id}","starred_url":"https://api.github.com/users/mslovy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mslovy/subscriptions","organizations_url":"https://api.github.com/users/mslovy/orgs","repos_url":"https://api.github.com/users/mslovy/repos","events_url":"https://api.github.com/users/mslovy/events{/privacy}","received_events_url":"https://api.github.com/users/mslovy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ceph/ceph/labels/cleanup","name":"cleanup","color":"bfe5bf"},{"url":"https://api.github.com/repos/ceph/ceph/labels/core","name":"core","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"tchaikov","id":59071,"avatar_url":"https://avatars.githubusercontent.com/u/59071?v=3","gravatar_id":"","url":"https://api.github.com/users/tchaikov","html_url":"https://github.com/tchaikov","followers_url":"https://api.github.com/users/tchaikov/followers","following_url":"https://api.github.com/users/tchaikov/following{/other_user}","gists_url":"https://api.github.com/users/tchaikov/gists{/gist_id}","starred_url":"https://api.github.com/users/tchaikov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tchaikov/subscriptions","organizations_url":"https://api.github.com/users/tchaikov/orgs","repos_url":"https://api.github.com/users/tchaikov/repos","events_url":"https://api.github.com/users/tchaikov/events{/privacy}","received_events_url":"https://api.github.com/users/tchaikov/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2015-02-11T15:05:47Z","updated_at":"2015-04-16T02:20:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ceph/ceph/pulls/3702","html_url":"https://github.com/ceph/ceph/pull/3702","diff_url":"https://github.com/ceph/ceph/pull/3702.diff","patch_url":"https://github.com/ceph/ceph/pull/3702.patch"},"body":"there is no need to lock the code, which is dealing with encoding tls to tbl. The submitManager lock is used to make sure the sequencial submission for op. So encoding transaction data out of lock.\r\n\r\nSigned-off-by: Ning Yao <yaoning@ruijie.com.cn>"},"comment":{"url":"https://api.github.com/repos/ceph/ceph/issues/comments/93619544","html_url":"https://github.com/ceph/ceph/pull/3702#issuecomment-93619544","issue_url":"https://api.github.com/repos/ceph/ceph/issues/3702","id":93619544,"user":{"login":"mslovy","id":9523883,"avatar_url":"https://avatars.githubusercontent.com/u/9523883?v=3","gravatar_id":"","url":"https://api.github.com/users/mslovy","html_url":"https://github.com/mslovy","followers_url":"https://api.github.com/users/mslovy/followers","following_url":"https://api.github.com/users/mslovy/following{/other_user}","gists_url":"https://api.github.com/users/mslovy/gists{/gist_id}","starred_url":"https://api.github.com/users/mslovy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mslovy/subscriptions","organizations_url":"https://api.github.com/users/mslovy/orgs","repos_url":"https://api.github.com/users/mslovy/repos","events_url":"https://api.github.com/users/mslovy/events{/privacy}","received_events_url":"https://api.github.com/users/mslovy/received_events","type":"User","site_admin":false},"created_at":"2015-04-16T02:20:26Z","updated_at":"2015-04-16T02:20:26Z","body":"@liewegas  the case you mention is, when journal != NULL && journal->is_writeable == 0。 If we do not use journal, journal wiil be a NULL point. So it will be go into the if(!journal) { branch.  So what is the case that journal != NULL && journal->is_writeable == 0?\r\nThe Journal == NULL will not lead to an extra calling for function, _op_journal_transactions_prepare(o->tls, tbl);"}}