From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gu Zheng Subject: Re: [PATCH 4/5] f2fs: optimize restore_node_summary slightly Date: Mon, 10 Mar 2014 13:38:46 +0800 Message-ID: <531D4FE6.7000503@cn.fujitsu.com> References: <5319A2D8.70409@cn.fujitsu.com> <1394426742.3870.89.camel@kjgkr> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WMt3s-0002cw-Hw for linux-f2fs-devel@lists.sourceforge.net; Mon, 10 Mar 2014 05:47:40 +0000 Received: from [222.73.24.84] (helo=song.cn.fujitsu.com) by sog-mx-4.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1WMt3q-0000Zx-Vt for linux-f2fs-devel@lists.sourceforge.net; Mon, 10 Mar 2014 05:47:40 +0000 In-Reply-To: <1394426742.3870.89.camel@kjgkr> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: jaegeuk.kim@samsung.com Cc: linux-kernel , f2fs SGkgS2ltLApPbiAwMy8xMC8yMDE0IDEyOjQ1IFBNLCBKYWVnZXVrIEtpbSB3cm90ZToKCj4gSGkg R3UsCj4gCj4gMjAxNC0wMy0wNyAo6riIKSwgMTg6NDMgKzA4MDAsIEd1IFpoZW5nOgo+PiBQcmV2 aW91c2x5LCB3ZSByYV9zdW1fcGFnZXMgdG8gcHJlLXJlYWQgY29udGlndW91cyBwYWdlcyBhcyBt b3JlCj4+IGFzIHBvc3NpYmxlLCBhbmQgaWYgd2UgZmFpbCB0byBhbGxvYyBtb3JlIHBhZ2VzLCBh biBFTk9NRU0gZXJyb3IKPj4gd2lsbCBiZSByZXBvcnRlZCB1cHN0cmVhbSwgZXZlbiB0aG91Z2gg d2UgaGF2ZSBhbGxvY2VkIHNvbWUgcGFnZXMKPj4geWV0LiBJbiBmYWN0LCB3ZSBjYW4gdXNlIHRo ZSBhdmFpbGFibGUgcGFnZXMgdG8gZG8gdGhlIGpvYiBwYXJ0bHksCj4+IGFuZCBjb250aW51ZSB0 aGUgcmVzdCBpbiB0aGUgZm9sbG93aW5nIGNpcmNsZS4gT25seSByZXBvcnRpbmcgRU5PTUVNCj4+ IHVwc3RyZWFtIGlmIHdlIHJlYWxseSBjYW4gbm90IGFsbG9jIGFueSBhdmFpbGFibGUgcGFnZS4K Pj4KPj4gQW5kIGFub3RoZXIgZml4IGlzIGlnbm9yaW5nIGRlYWxpbmcgd2l0aCB0aGUgZm9sbG93 aW5nIHBhZ2VzIGlmIGFuCj4+IEVJTyBvY2N1cnMgd2hlbiByZWFkaW5nIHBhZ2UgZnJvbSBwYWdl X2xpc3QuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEd1IFpoZW5nIDxndXouZm5zdEBjbi5mdWppdHN1 LmNvbT4KPj4gLS0tCj4+ICBmcy9mMmZzL25vZGUuYyAgICB8ICAgNDQgKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gIGZzL2YyZnMvc2VnbWVudC5jIHwgICAg NyArKysrKy0tCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDI2IGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9ub2RlLmMgYi9mcy9mMmZzL25vZGUu Ywo+PiBpbmRleCA4Nzg3NDY5Li40Yjc4NjFkIDEwMDY0NAo+PiAtLS0gYS9mcy9mMmZzL25vZGUu Ywo+PiArKysgYi9mcy9mMmZzL25vZGUuYwo+PiBAQCAtMTU4OCwxNSArMTU4OCw4IEBAIHN0YXRp YyBpbnQgcmFfc3VtX3BhZ2VzKHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwgc3RydWN0IGxpc3Rf aGVhZCAqcGFnZXMsCj4+ICAJZm9yICg7IHBhZ2VfaWR4IDwgc3RhcnQgKyBucnBhZ2VzOyBwYWdl X2lkeCsrKSB7Cj4+ICAJCS8qIGFsbG9jIHRlbXBvcmFsIHBhZ2UgZm9yIHJlYWQgbm9kZSBzdW1t YXJ5IGluZm8qLwo+PiAgCQlwYWdlID0gYWxsb2NfcGFnZShHRlBfRjJGU19aRVJPKTsKPj4gLQkJ aWYgKCFwYWdlKSB7Cj4+IC0JCQlzdHJ1Y3QgcGFnZSAqdG1wOwo+PiAtCQkJbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKHBhZ2UsIHRtcCwgcGFnZXMsIGxydSkgewo+PiAtCQkJCWxpc3RfZGVsKCZw YWdlLT5scnUpOwo+PiAtCQkJCXVubG9ja19wYWdlKHBhZ2UpOwo+PiAtCQkJCV9fZnJlZV9wYWdl cyhwYWdlLCAwKTsKPj4gLQkJCX0KPj4gLQkJCXJldHVybiAtRU5PTUVNOwo+PiAtCQl9Cj4+ICsJ CWlmICghcGFnZSkKPj4gKwkJCWJyZWFrOwo+PiAgCj4+ICAJCWxvY2tfcGFnZShwYWdlKTsKPj4g IAkJcGFnZS0+aW5kZXggPSBwYWdlX2lkeDsKPj4gQEAgLTE2MDcsNyArMTYwMCw4IEBAIHN0YXRp YyBpbnQgcmFfc3VtX3BhZ2VzKHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwgc3RydWN0IGxpc3Rf aGVhZCAqcGFnZXMsCj4+ICAJCWYyZnNfc3VibWl0X3BhZ2VfbWJpbyhzYmksIHBhZ2UsIHBhZ2Ut PmluZGV4LCAmZmlvKTsKPj4gIAo+PiAgCWYyZnNfc3VibWl0X21lcmdlZF9iaW8oc2JpLCBNRVRB LCBSRUFEKTsKPj4gLQlyZXR1cm4gMDsKPj4gKwo+PiArCXJldHVybiBwYWdlX2lkeCAtIHN0YXJ0 Owo+PiAgfQo+PiAgCj4+ICBpbnQgcmVzdG9yZV9ub2RlX3N1bW1hcnkoc3RydWN0IGYyZnNfc2Jf aW5mbyAqc2JpLAo+PiBAQCAtMTYzMCwyOCArMTYyNCwzMCBAQCBpbnQgcmVzdG9yZV9ub2RlX3N1 bW1hcnkoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAo+PiAgCQlucnBhZ2VzID0gbWluKGxhc3Rf b2Zmc2V0IC0gaSwgYmlvX2Jsb2Nrcyk7Cj4+ICAKPj4gIAkJLyogcmVhZCBhaGVhZCBub2RlIHBh Z2VzICovCj4+IC0JCWVyciA9IHJhX3N1bV9wYWdlcyhzYmksICZwYWdlX2xpc3QsIGFkZHIsIG5y cGFnZXMpOwo+PiAtCQlpZiAoZXJyKQo+PiAtCQkJcmV0dXJuIGVycjsKPj4gKwkJbnJwYWdlcyA9 IHJhX3N1bV9wYWdlcyhzYmksICZwYWdlX2xpc3QsIGFkZHIsIG5ycGFnZXMpOwo+PiArCQlpZiAo IW5ycGFnZXMpCj4+ICsJCQlyZXR1cm4gLUVOT01FTTsKPj4gIAo+PiAgCQlsaXN0X2Zvcl9lYWNo X2VudHJ5X3NhZmUocGFnZSwgdG1wLCAmcGFnZV9saXN0LCBscnUpIHsKPj4gLQo+IAo+IEhlcmUg d2UgY2FuIGp1c3QgYWRkOgo+IAkJCWlmIChlcnIpCj4gCQkJCWdvdG8gc2tpcDsKPiAJCQlsb2Nr X3BhZ2UoKTsKPiAJCQkuLi4KPiAJCQl1bmxvY2tfcGFnZSgpOwo+IAkJc2tpcDoKPiAJCQlsaXN0 X2RlbCgpOwo+IAkJCV9fZnJlZV9wYWdlcygpOwo+IAo+IElNTywgaXQncyBtb3JlIG5lYXQsIHNv IGlmIHlvdSBoYXZlIGFueSBvYmplY3Rpb24sIGxldCBtZSBrbm93Lgo+IE90aGVyd2lzZSwgSSds bCBoYW5kbGUgdGhpcyBieSBteXNlbGYuIDopCgpUaGFua3MgdmVyeSBtdWNoLgoKUmVnYXJkcywK R3UKCj4gVGhhbmtzLAo+IAo+PiAtCQkJbG9ja19wYWdlKHBhZ2UpOwo+PiAtCQkJaWYgKHVubGlr ZWx5KCFQYWdlVXB0b2RhdGUocGFnZSkpKSB7Cj4+IC0JCQkJZXJyID0gLUVJTzsKPj4gLQkJCX0g ZWxzZSB7Cj4+IC0JCQkJcm4gPSBGMkZTX05PREUocGFnZSk7Cj4+IC0JCQkJc3VtX2VudHJ5LT5u aWQgPSBybi0+Zm9vdGVyLm5pZDsKPj4gLQkJCQlzdW1fZW50cnktPnZlcnNpb24gPSAwOwo+PiAt CQkJCXN1bV9lbnRyeS0+b2ZzX2luX25vZGUgPSAwOwo+PiAtCQkJCXN1bV9lbnRyeSsrOwo+PiAr CQkJaWYgKCFlcnIpIHsKPj4gKwkJCQlsb2NrX3BhZ2UocGFnZSk7Cj4+ICsJCQkJaWYgKHVubGlr ZWx5KCFQYWdlVXB0b2RhdGUocGFnZSkpKSB7Cj4+ICsJCQkJCWVyciA9IC1FSU87Cj4+ICsJCQkJ fSBlbHNlIHsKPj4gKwkJCQkJcm4gPSBGMkZTX05PREUocGFnZSk7Cj4+ICsJCQkJCXN1bV9lbnRy eS0+bmlkID0gcm4tPmZvb3Rlci5uaWQ7Cj4+ICsJCQkJCXN1bV9lbnRyeS0+dmVyc2lvbiA9IDA7 Cj4+ICsJCQkJCXN1bV9lbnRyeS0+b2ZzX2luX25vZGUgPSAwOwo+PiArCQkJCQlzdW1fZW50cnkr KzsKPj4gKwkJCQl9Cj4+ICsJCQkJdW5sb2NrX3BhZ2UocGFnZSk7Cj4+ICAJCQl9Cj4+ICAKPj4g IAkJCWxpc3RfZGVsKCZwYWdlLT5scnUpOwo+PiAtCQkJdW5sb2NrX3BhZ2UocGFnZSk7Cj4+ICAJ CQlfX2ZyZWVfcGFnZXMocGFnZSwgMCk7Cj4+ICAJCX0KPj4gIAl9Cj4+ICsKPj4gIAlyZXR1cm4g ZXJyOwo+PiAgfQo+PiAgCj4+IGRpZmYgLS1naXQgYS9mcy9mMmZzL3NlZ21lbnQuYyBiL2ZzL2Yy ZnMvc2VnbWVudC5jCj4+IGluZGV4IDE5OWM5NjQuLmIzZjg0MzEgMTAwNjQ0Cj4+IC0tLSBhL2Zz L2YyZnMvc2VnbWVudC5jCj4+ICsrKyBiL2ZzL2YyZnMvc2VnbWVudC5jCj4+IEBAIC0xMTYwLDkg KzExNjAsMTIgQEAgc3RhdGljIGludCByZWFkX25vcm1hbF9zdW1tYXJpZXMoc3RydWN0IGYyZnNf c2JfaW5mbyAqc2JpLCBpbnQgdHlwZSkKPj4gIAkJCQlucy0+b2ZzX2luX25vZGUgPSAwOwo+PiAg CQkJfQo+PiAgCQl9IGVsc2Ugewo+PiAtCQkJaWYgKHJlc3RvcmVfbm9kZV9zdW1tYXJ5KHNiaSwg c2Vnbm8sIHN1bSkpIHsKPj4gKwkJCWludCBlcnI7Cj4+ICsKPj4gKwkJCWVyciA9IHJlc3RvcmVf bm9kZV9zdW1tYXJ5KHNiaSwgc2Vnbm8sIHN1bSk7Cj4+ICsJCQlpZiAoZXJyKSB7Cj4+ICAJCQkJ ZjJmc19wdXRfcGFnZShuZXcsIDEpOwo+PiAtCQkJCXJldHVybiAtRUlOVkFMOwo+PiArCQkJCXJl dHVybiBlcnI7Cj4+ICAJCQl9Cj4+ICAJCX0KPj4gIAl9Cj4gCgoKCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQpMZWFybiBHcmFwaCBEYXRhYmFzZXMgLSBEb3dubG9hZCBGUkVFIE8nUmVpbGx5IEJvb2sK IkdyYXBoIERhdGFiYXNlcyIgaXMgdGhlIGRlZmluaXRpdmUgbmV3IGd1aWRlIHRvIGdyYXBoIGRh dGFiYXNlcyBhbmQgdGhlaXIKYXBwbGljYXRpb25zLiBXcml0dGVuIGJ5IHRocmVlIGFjY2xhaW1l ZCBsZWFkZXJzIGluIHRoZSBmaWVsZCwKdGhpcyBmaXJzdCBlZGl0aW9uIGlzIG5vdyBhdmFpbGFi bGUuIERvd25sb2FkIHlvdXIgZnJlZSBib29rIHRvZGF5IQpodHRwOi8vcC5zZi5uZXQvc2Z1LzEz NTM0X05lb1RlY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KTGludXgtZjJmcy1kZXZlbCBtYWlsaW5nIGxpc3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5z b3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGlu Zm8vbGludXgtZjJmcy1kZXZlbAo=