From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaegeuk Kim Subject: Re: [f2fs-dev 4/5] f2fs: Key functions to handle inline data Date: Tue, 29 Oct 2013 10:06:27 +0900 Message-ID: <1383008787.14041.8.camel@kjgkr> References: <1382716919-23345-1-git-send-email-huajun.li.lee@gmail.com> <1382716919-23345-5-git-send-email-huajun.li.lee@gmail.com> <1382964198.992.121.camel@kjgkr> Reply-To: jaegeuk.kim@samsung.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1Vaxm6-0000t3-7r for linux-f2fs-devel@lists.sourceforge.net; Tue, 29 Oct 2013 01:07:14 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by sog-mx-3.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1Vaxm3-0006Wd-Ug for linux-f2fs-devel@lists.sourceforge.net; Tue, 29 Oct 2013 01:07:14 +0000 Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MVE00565OFTSOD0@mailout2.samsung.com> for linux-f2fs-devel@lists.sourceforge.net; Tue, 29 Oct 2013 10:07:05 +0900 (KST) In-reply-to: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: Huajun Li Cc: Huajun Li , Weihong Xu , linux-kernel , linux-f2fs-devel , linux-fsdevel SGksCgoyMDEzLTEwLTI5ICjtmZQpLCAwMToyMCArMDgwMCwgSHVhanVuIExpOgo+IE9uIE1vbiwg T2N0IDI4LCAyMDEzIGF0IDg6NDMgUE0sIEphZWdldWsgS2ltIDxqYWVnZXVrLmtpbUBzYW1zdW5n LmNvbT4gd3JvdGU6Cj4gPiBIaSwKPiA+Cj4gPiAyMDEzLTEwLTI2ICjthqApLCAwMDowMSArMDgw MCwgSHVhanVuIExpOgo+ID4+IEZyb206IEh1YWp1biBMaSA8aHVhanVuLmxpQGludGVsLmNvbT4K PiA+Pgo+ID4+IEZ1bmN0aW9ucyB0byBpbXBsZW1lbnQgaW5saW5lIGRhdGEgcmVhZC93cml0ZSwg YW5kIG1vdmUgaW5saW5lIGRhdGEgdG8KPiA+PiBub3JtYWwgZGF0YSBibG9jayB3aGVuIGZpbGUg c2l6ZSBleGNlZWRzIGlubGluZSBkYXRhIGxpbWl0YXRpb24uCj4gPj4KPiA+PiBTaWduZWQtb2Zm LWJ5OiBIdWFqdW4gTGkgPGh1YWp1bi5saUBpbnRlbC5jb20+Cj4gPj4gU2lnbmVkLW9mZi1ieTog SGFpY2hlbmcgTGkgPGhhaWNoZW5nLmxpQGxpbnV4LmludGVsLmNvbT4KPiA+PiBTaWduZWQtb2Zm LWJ5OiBXZWlob25nIFh1IDx3ZWlob25nLnh1QGludGVsLmNvbT4KPiA+PiAtLS0KPiA+PiAgZnMv ZjJmcy9NYWtlZmlsZSB8ICAgIDIgKy0KPiA+PiAgZnMvZjJmcy9mMmZzLmggICB8ICAgIDcgKysr Cj4gPj4gIGZzL2YyZnMvaW5saW5lLmMgfCAgMTQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAzIGZpbGVzIGNoYW5nZWQsIDE1MiBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBmcy9m MmZzL2lubGluZS5jCj4gPj4KPiA+Cj4gPiBbc25pcF0KPiA+Cj4gPj4gK3N0YXRpYyBpbnQgX19m MmZzX2NvbnZlcnRfaW5saW5lX2RhdGEoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IHBhZ2Ug KnBhZ2UpCj4gPj4gK3sKPiA+PiArICAgICBpbnQgZXJyOwo+ID4+ICsgICAgIHN0cnVjdCBwYWdl ICppcGFnZTsKPiA+PiArICAgICBzdHJ1Y3QgZG5vZGVfb2ZfZGF0YSBkbjsKPiA+PiArICAgICB2 b2lkICpzcmNfYWRkciwgKmRzdF9hZGRyOwo+ID4+ICsgICAgIHN0cnVjdCBmMmZzX3NiX2luZm8g KnNiaSA9IEYyRlNfU0IoaW5vZGUtPmlfc2IpOwo+ID4+ICsKPiA+Cj4gPiBIZXJlLi4gIGYyZnNf bG9ja19vcChzYmkpOwo+ID4KPiA+PiArICAgICBpcGFnZSA9IGdldF9ub2RlX3BhZ2Uoc2JpLCBp bm9kZS0+aV9pbm8pOwo+ID4+ICsgICAgIGlmIChJU19FUlIoaXBhZ2UpKQo+ID4+ICsgICAgICAg ICAgICAgcmV0dXJuIFBUUl9FUlIoaXBhZ2UpOwo+ID4+ICsKPiA+Cj4gPiBOZWVkIHRvIG1vdmUg ZjJmc19sb2NrX29wIHByaW9yIHRvIGdldF9ub2RlX3BhZ2UuCj4gPgo+ID4+ICsgICAgIC8qIGlf YWRkclswXSBpcyBub3QgdXNlZCBmb3IgaW5saW5lIGRhdGEsCj4gPgo+ID4gQ29kaW5nIHN0eWxl Lgo+ID4gICAgICAgICAgLyoKPiA+ICAgICAgICAgICAqIC4uLgo+ID4gICAgICAgICAgICovCj4g Pgo+ID4+ICsgICAgICAqIHNvIHJlc2VydmluZyBuZXcgYmxvY2sgd2lsbCBub3QgZGVzdHJveSBp bmxpbmUgZGF0YSAqLwo+ID4+ICsgICAgIGVyciA9IGYyZnNfcmVzZXJ2ZV9ibG9jayhpbm9kZSwg JmRuLCAwKTsKPiA+PiArICAgICBpZiAoZXJyKSB7Cj4gPj4gKyAgICAgICAgICAgICBmMmZzX3B1 dF9wYWdlKGlwYWdlLCAxKTsKPiA+PiArICAgICAgICAgICAgIGYyZnNfdW5sb2NrX29wKHNiaSk7 Cj4gPj4gKyAgICAgICAgICAgICByZXR1cm4gZXJyOwo+ID4+ICsgICAgIH0KPiA+Cj4gPiBOZWVk IHRvIG1vdmUgdGhpcyB0b28uCj4gPgo+ID4+ICsKPiA+PiArICAgICBzcmNfYWRkciA9IGlubGlu ZV9kYXRhX2FkZHIoaXBhZ2UpOwo+ID4+ICsgICAgIGRzdF9hZGRyID0gcGFnZV9hZGRyZXNzKHBh Z2UpOwo+ID4+ICsgICAgIHplcm9fdXNlcl9zZWdtZW50KHBhZ2UsIDAsIFBBR0VfQ0FDSEVfU0la RSk7Cj4gPgo+ID4gKyBzcGFjZSBmb3IgcmVhZGFiaWxpdHkuCj4gPgo+ID4+ICsgICAgIC8qIENv cHkgdGhlIHdob2xlIGlubGluZSBkYXRhIGJsb2NrICovCj4gPj4gKyAgICAgbWVtY3B5KGRzdF9h ZGRyLCBzcmNfYWRkciwgTUFYX0lOTElORV9EQVRBKTsKPiA+PiArICAgICB6ZXJvX3VzZXJfc2Vn bWVudChpcGFnZSwgSU5MSU5FX0RBVEFfT0ZGU0VULAo+ID4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJTkxJTkVfREFUQV9PRkZTRVQgKyBNQVhfSU5MSU5FX0RBVEEpOwo+ID4+ICsg ICAgIGNsZWFyX2lub2RlX2ZsYWcoRjJGU19JKGlub2RlKSwgRklfSU5MSU5FX0RBVEEpOwo+ID4+ ICsgICAgIHNldF9yYXdfaW5saW5lKEYyRlNfSShpbm9kZSksCj4gPj4gKyAgICAgICAgICAgICAg ICAgICAgIChzdHJ1Y3QgZjJmc19pbm9kZSAqKXBhZ2VfYWRkcmVzcyhpcGFnZSkpOwo+IAo+IFRo YW5rcyBmb3IgeW91ciBjb21tZW50cywgSSB3aWxsIHVwZGF0ZSB0aGVtIGFjY29yZGluZyB0byBh Ym92ZSBjb21tZW50cy4KPiAKPiA+Cj4gPiAgICAtLT4gc3luY19pbm9kZV9wYWdlKCk/Cj4gPgo+ IElNTywgd2UganVzdCBoYW5kbGUgZmlsZSBkYXRhLCBzbyBkbyB3ZSBzdGlsbCBuZWVkIGNhbGwg c3luY19pbm9kZV9wYWdlKCkgPwoKSSB0aGluayBzeW5jX2lub2RlX3BhZ2UoKSBpcyBtb3JlIHN1 aXRhYmxlLCBzaW5jZSB3ZSBuZWVkIHRvIHN5bmMKYmV0d2VlbiBpX3NpemUsIGlfYmxvY2tzIGFu ZCBpdHMgaV9mbGFnLCBpbmxpbmVfZGF0YSwgYXQgdGhpcyBtb21lbnQuCgo+IAo+ID4+ICsKPiA+ PiArICAgICBzZXRfcGFnZV9kaXJ0eShpcGFnZSk7CgpOZWVkIHRvIGNvbnNpZGVyIHNraXBwaW5n IHNldF9wYWdlX2RpcnR5KGlwYWdlKS4KCj4gPj4gKyAgICAgZjJmc19wdXRfcGFnZShpcGFnZSwg MSk7Cj4gPj4gKyAgICAgc2V0X3BhZ2VfZGlydHkocGFnZSk7Cj4gPgo+ID4gSGVyZS4uLiBmMmZz X3VubG9ja19vcChzYmkpOwo+ID4KPiA+IEhlcmUsIHdlIG5lZWQgdG8gY29uc2lkZXIgZGF0YSBj b25zaXN0ZW5jeS4KPiA+IExldCdzIHRoaW5rIGFib3V0IHRoZSBiZWxvdyBzY2VuYXJpby4KPiA+ IDEuIGlubGluZV9kYXRhIHdhcyB3cml0dGVuLgo+ID4gMi4gc3luY19mcyBpcyBkb25lLgo+ID4g My4gYWRkaXRpb25hbCBkYXRhIHdlcmUgd3JpdHRlbi4KPiA+ICAgOiB0aGlzIHRyaWdnZXJzIGYy ZnNfY29udmVydF9pbmxpbmVfZGF0YSgpLCBwcm9kdWNlcyBhIHBhZ2UsIGFuZCB0aGVuCj4gPiB1 bnNldHMgdGhlIGlubGluZSBmbGFnLgo+ID4gNC4gY2hlY2twb2ludCB3YXMgZG9uZSB3aXRoIHVw ZGF0ZWQgaW5vZGUgcGFnZS4gTm90ZSB0aGF0LCBjaGVja3BvaW50Cj4gPiBkb2Vzbid0IGd1YXJh bnRlZSBhbnkgdXNlciBkYXRhLgo+ID4gNS4gc3VkZGVuIHBvd2VyLW9mZiBpcyBvY2N1cnJlZC4K PiA+ICAgLT4gT25jZSBwb3dlci1vZmYtcmVjb3ZlcnkgaXMgZG9uZSwgd2UgbG9vc2UgdGhlIGlu bGluZV9kYXRhIHdoaWNoIHdhcwo+ID4gd3JpdHRlbiBzdWNjZXNzZnVsbHkgYXQgc3RlcCAjMi4K PiA+Cj4gPiBTbywgSSB0aGluayB3ZSBuZWVkIHRvIGRvIGYyZnNfc3luY19maWxlKCkgcHJvY2Vk dXJlIGF0IHRoaXMgbW9tZW50Lgo+ID4gQW55IGlkZWE/Cj4gPgo+IAo+IFllcywgbmVlZCBjb25z aWRlciB0aGlzIGNhc2UgY2FyZWZ1bGx5LCB0aGFua3MgZm9yIHlvdXIgcmVtaW5kZXIuCj4gCj4g Q29uc2lkZXJpbmcgc3VkZGVuIHBvd2VyLW9mZiBtYXkgaGFwcGVuIGJlZm9yZSBmMmZzX3N5bmNf ZmlsZSgpIGlzCj4gY2FsbGVkLCBzbyBob3cgYWJvdXQgZm9sbG93aW5nIHNvbHV0aW9uczoKPiAg ICAgIC4uLgo+ICAgICAgLyogQ29weSB0aGUgd2hvbGUgaW5saW5lIGRhdGEgYmxvY2sgKi8KPiAg ICAgIG1lbWNweShkc3RfYWRkciwgc3JjX2FkZHIsIE1BWF9JTkxJTkVfREFUQSk7Cj4gCj4gICAg IGRvIGYyZnNfc3luY19maWxlKCkgcHJvY2VkdXJlICggT3IgIGRvIHdyaXRlX2RhdGFfcGFnZSgp IHByb2NlZHVyZSA/ICkKCllhLCBidXQgaXQgbWF5IHN0aWxsIGhhdmUgc29tZSBjb25kaXRpb25z IHRvIGRvIHRoaXMgb3Igbm90LgpPbmUgb2YgdGhlbSBpcyBjaGVja2luZyB3aGV0aGVyIHByZXZp b3VzIGlubGluZSBkYXRhIHNob3VsZCBiZSByZWNvdmVyZWQKb3Igbm90LCBmb3IgZXhhbXBsZS4K Cj4gCj4gICAgICB6ZXJvX3VzZXJfc2VnbWVudChpcGFnZSwgSU5MSU5FX0RBVEFfT0ZGU0VULCBJ TkxJTkVfREFUQV9PRkZTRVQgKwo+IE1BWF9JTkxJTkVfREFUQSk7Cj4gICAgICBjbGVhcl9pbm9k ZV9mbGFnKEYyRlNfSShpbm9kZSksIEZJX0lOTElORV9EQVRBKTsKPiAgICAgIHNldF9yYXdfaW5s aW5lKEYyRlNfSShpbm9kZSksIChzdHJ1Y3QgZjJmc19pbm9kZSAqKXBhZ2VfYWRkcmVzcyhpcGFn ZSkpOwo+ICAgICAgLi4uCj4gCj4gPj4gKwo+ID4+ICsgICAgIHJldHVybiAwOwo+ID4+ICt9Cj4g Pj4gKwo+ID4+ICtpbnQgZjJmc19jb252ZXJ0X2lubGluZV9kYXRhKHN0cnVjdCBpbm9kZSAqaW5v ZGUsCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2UgKnAsIHVuc2ln bmVkIGZsYWdzKQo+ID4+ICt7Cj4gPj4gKyAgICAgaW50IGVycjsKPiA+PiArICAgICBzdHJ1Y3Qg cGFnZSAqcGFnZTsKPiA+PiArCj4gPj4gKyAgICAgaWYgKHAgJiYgIXAtPmluZGV4KSB7Cj4gPj4g KyAgICAgICAgICAgICBwYWdlID0gcDsKPiA+PiArICAgICB9IGVsc2Ugewo+ID4+ICsgICAgICAg ICAgICAgcGFnZSA9IGdyYWJfY2FjaGVfcGFnZV93cml0ZV9iZWdpbihpbm9kZS0+aV9tYXBwaW5n LCAwLCBmbGFncyk7Cj4gPj4gKyAgICAgICAgICAgICBpZiAoSVNfRVJSKHBhZ2UpKQo+ID4+ICsg ICAgICAgICAgICAgICAgICAgICByZXR1cm4gUFRSX0VSUihwYWdlKTsKPiA+PiArICAgICB9Cj4g Pj4gKwo+ID4+ICsgICAgIGVyciA9IF9fZjJmc19jb252ZXJ0X2lubGluZV9kYXRhKGlub2RlLCBw YWdlKTsKPiA+PiArCj4gPj4gKyAgICAgaWYgKHAgJiYgIXAtPmluZGV4KQo+ID4+ICsgICAgICAg ICAgICAgZjJmc19wdXRfcGFnZShwYWdlLCAxKTsKPiA+PiArCj4gPj4gKyAgICAgcmV0dXJuIGVy cjsKPiA+PiArfQo+ID4+ICsKPiA+PiAraW50IGYyZnNfd3JpdGVfaW5saW5lX2RhdGEoc3RydWN0 IGlub2RlICppbm9kZSwKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhZ2Ug KnBhZ2UsIHVuc2lnbmVkIHNpemUpCj4gPj4gK3sKPiA+PiArICAgICB2b2lkICpzcmNfYWRkciwg KmRzdF9hZGRyOwo+ID4+ICsgICAgIHN0cnVjdCBwYWdlICppcGFnZTsKPiA+PiArICAgICBzdHJ1 Y3QgZG5vZGVfb2ZfZGF0YSBkbjsKPiA+PiArICAgICBpbnQgZXJyOwo+ID4+ICsKPiA+PiArICAg ICBzZXRfbmV3X2Rub2RlKCZkbiwgaW5vZGUsIE5VTEwsIE5VTEwsIDApOwo+ID4+ICsgICAgIGVy ciA9IGdldF9kbm9kZV9vZl9kYXRhKCZkbiwgMCwgTE9PS1VQX05PREUpOwo+ID4+ICsgICAgIGlm IChlcnIpCj4gPj4gKyAgICAgICAgICAgICByZXR1cm4gZXJyOwo+ID4+ICsgICAgIGlwYWdlID0g ZG4uaW5vZGVfcGFnZTsKPiA+PiArCj4gPj4gKyAgICAgc3JjX2FkZHIgPSBwYWdlX2FkZHJlc3Mo cGFnZSk7Cj4gPj4gKyAgICAgZHN0X2FkZHIgPSBpbmxpbmVfZGF0YV9hZGRyKGlwYWdlKTsKPiA+ PiArCj4gPj4gKyAgICAgemVyb191c2VyX3NlZ21lbnQoaXBhZ2UsIElOTElORV9EQVRBX09GRlNF VCwKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5MSU5FX0RBVEFfT0ZGU0VU ICsgTUFYX0lOTElORV9EQVRBKTsKPiA+PiArICAgICBtZW1jcHkoZHN0X2FkZHIsIHNyY19hZGRy LCBzaXplKTsKPiA+PiArICAgICBpZiAoIWYyZnNfaGFzX2lubGluZV9kYXRhKGlub2RlKSkKPiA+ PiArICAgICAgICAgICAgIHNldF9pbm9kZV9mbGFnKEYyRlNfSShpbm9kZSksIEZJX0lOTElORV9E QVRBKTsKPiA+PiArICAgICBzZXRfcmF3X2lubGluZShGMkZTX0koaW5vZGUpLAo+ID4+ICsgICAg ICAgICAgICAgICAgICAgICAoc3RydWN0IGYyZnNfaW5vZGUgKilwYWdlX2FkZHJlc3MoaXBhZ2Up KTsKPiA+PiArICAgICBzZXRfcGFnZV9kaXJ0eShpcGFnZSk7Cj4gPj4gKwo+ID4+ICsgICAgIGlm ICgoRjJGU19JKGlub2RlKS0+aV94YXR0cl9uaWQgJiYgaW5vZGUtPmlfYmxvY2tzID09IDIpIHx8 Cj4gPj4gKyAgICAgICAgICAgICAoIUYyRlNfSShpbm9kZSktPmlfeGF0dHJfbmlkICYmIGlub2Rl LT5pX2Jsb2NrcyA9PSAxKSkgewo+ID4+ICsgICAgICAgICAgICAgZjJmc19wdXRfZG5vZGUoJmRu KTsKPiA+PiArICAgICAgICAgICAgIHJldHVybiAwOwo+ID4+ICsgICAgIH0KPiA+PiArCj4gPj4g KyAgICAgLyogUmVsZWFzZSB0aGUgZmlyc3QgZGF0YSBibG9jayBpZiBpdCBpcyBhbGxvY2F0ZWQg Ki8KPiA+PiArICAgICB0cnVuY2F0ZV9kYXRhX2Jsb2Nrc19yYW5nZSgmZG4sIDEpOwo+ID4+ICsg ICAgIGYyZnNfcHV0X2Rub2RlKCZkbik7Cj4gPj4gKwo+ID4+ICsgICAgIHJldHVybiAwOwo+ID4+ ICt9Cj4gPgo+ID4gLS0KPiA+IEphZWdldWsgS2ltCj4gPiBTYW1zdW5nCj4gPgo+IC0tCj4gVG8g dW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxp bnV4LWZzZGV2ZWwiIGluCj4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2Vy Lmtlcm5lbC5vcmcKPiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwu b3JnL21ham9yZG9tby1pbmZvLmh0bWwKCi0tIApKYWVnZXVrIEtpbQpTYW1zdW5nCgoKCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQpBbmRyb2lkIGlzIGluY3JlYXNpbmcgaW4gcG9wdWxhcml0eSwgYnV0 IHRoZSBvcGVuIGRldmVsb3BtZW50IHBsYXRmb3JtIHRoYXQKZGV2ZWxvcGVycyBsb3ZlIGlzIGFs c28gYXR0cmFjdGl2ZSB0byBtYWx3YXJlIGNyZWF0b3JzLiBEb3dubG9hZCB0aGlzIHdoaXRlCnBh cGVyIHRvIGxlYXJuIG1vcmUgYWJvdXQgc2VjdXJlIGNvZGUgc2lnbmluZyBwcmFjdGljZXMgdGhh dCBjYW4gaGVscCBrZWVwCkFuZHJvaWQgYXBwcyBzZWN1cmUuCmh0dHA6Ly9wdWJhZHMuZy5kb3Vi bGVjbGljay5uZXQvZ2FtcGFkL2Nsaz9pZD02NTgzOTk1MSZpdT0vNDE0MC9vc3RnLmNsa3Ryawpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1mMmZz LWRldmVsIG1haWxpbmcgbGlzdApMaW51eC1mMmZzLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5l dApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9saW51eC1mMmZz LWRldmVsCg==