From: Josh Berry <des@condordes.net>
To: Josef Bacik <josef@redhat.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [PATCH] Btrfs: dynamically remove unused block groups
Date: Tue, 30 Nov 2010 09:37:17 -0800 [thread overview]
Message-ID: <AANLkTikkU_2SbtVzRuUJbTGO3dQGQc9Jd8FgpGFPF7uE@mail.gmail.com> (raw)
In-Reply-To: <1291135590-26775-1-git-send-email-josef@redhat.com>
T24gVHVlLCBOb3YgMzAsIDIwMTAgYXQgMDg6NDYsIEpvc2VmIEJhY2lrIDxqb3NlZkByZWRoYXQu
Y29tPiB3cm90ZToKPiBCdHJmcyBvbmx5IGFsbG9jYXRlcyBjaHVua3MgYXMgd2UgbmVlZCB0aGVt
LCBob3dldmVyIHdlIGRvIG5vdCBkZWxldGUgY2h1bmtzIGFzCj4gd2Ugc3RvcCB1c2luZyB0aGVt
LiDCoFRoaXMgcGF0Y2ggYWRkcyB0aGlzIGNhcGFiaWxpdHkuIMKgV2hlbmV2ZXIgd2UgY2xlYXIg
dGhlCj4gbGFzdCBiaXQgb2YgdXNlZCBzcGFjZSBpbiBhIGJsb2NrIGdyb3VwIHdlIHRyeSBhbmQg
bWFyayBpdCByZWFkIG9ubHksIGFuZCB0aGVuCj4gd2hlbiB0aGUgbGFzdCBwaW5uZWQgc3BhY2Ug
aXMgZmluYWxseSByZW1vdmVkIHdlIHF1ZXVlIHVwIHRoZSBkZWxldGlvbiB3b3JrLgo+IEkndmUg
dGVzdGVkIHRoaXMgd2l0aCB4ZnN0ZXN0cyBhbmQgbXkgZW5vc3BjIHRlc3RzLiDCoFdoZW4gZmls
bGluZyB1cCB0aGUgZGlzawo+IEkgc2VlIHRoYXQgd2UndmUgYWxsb2NhdGVkIHRoZSBlbnRpcmUg
ZGlzayBvZiBjaHVua3MsIGFuZCB0aGVuIHdoZW4gSSBkbyBybSAqCj4gdGhlcmUgaXMgYSBidW5j
aCBvZiBzcGFjZSBmcmVlZCB1cC4gwqBUaGFua3MsCgpTdHVwaWQgdXNlciBxdWVzdGlvbjoKCkkg
aGF2ZSBhIGJ0cmZzIGZpbGVzeXN0ZW0gb24gYSAyLjYuMzYga2VybmVsIHRoYXQgdXNlZCB0byBo
YXZlIH44MDBHQgpvZiBkYXRhIG9uIGl0LiAgVGhlbiBJIGRlbGV0ZWQgfjUwMEdCIG9mIGl0ICht
b3ZlZCBpdCBlbHNld2hlcmUpLCBidXQKbXkgc3BhY2UgdXNhZ2UgYXMgcmVwb3J0ZWQgYnkgZGYg
YW5kIHRoZSBidHJmcyB0b29sIGRpZG4ndCBkZWNyZWFzZQphcHByZWNpYWJseS4gIE1pZ2h0IHRo
aXMgYmUgd2h5PwoKVGhhbmtzLApKb3NoCgoKCj4gU2lnbmVkLW9mZi1ieTogSm9zZWYgQmFjaWsg
PGpvc2VmQHJlZGhhdC5jb20+Cj4gLS0tCj4gwqBmcy9idHJmcy9jdHJlZS5oIMKgIMKgIMKgIHwg
wqAgwqAzICsKPiDCoGZzL2J0cmZzL2V4dGVudC10cmVlLmMgfCDCoDE0OCArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+IMKgZnMvYnRyZnMvdm9sdW1lcy5j
IMKgIMKgIHwgwqAgNTIgKysrKysrKysrKystLS0tLS0KPiDCoGZzL2J0cmZzL3ZvbHVtZXMuaCDC
oCDCoCB8IMKgIMKgNCArCj4gwqA0IGZpbGVzIGNoYW5nZWQsIDE3NCBpbnNlcnRpb25zKCspLCAz
MyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9mcy9idHJmcy9jdHJlZS5oIGIvZnMvYnRy
ZnMvY3RyZWUuaAo+IGluZGV4IDhkYjkyMzQuLjUwZWM2NGIgMTAwNjQ0Cj4gLS0tIGEvZnMvYnRy
ZnMvY3RyZWUuaAo+ICsrKyBiL2ZzL2J0cmZzL2N0cmVlLmgKPiBAQCAtODM5LDYgKzgzOSw5IEBA
IHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSB7Cj4gwqAgwqAgwqAgwqAgKiBUb2RheSBp
dCB3aWxsIG9ubHkgaGF2ZSBvbmUgdGhpbmcgb24gaXQsIGJ1dCB0aGF0IG1heSBjaGFuZ2UKPiDC
oCDCoCDCoCDCoCAqLwo+IMKgIMKgIMKgIMKgc3RydWN0IGxpc3RfaGVhZCBjbHVzdGVyX2xpc3Q7
Cj4gKwo+ICsgwqAgwqAgwqAgLyogV29ya2VyIGZvciBkZWxldGluZyB0aGUgYmxvY2sgZ3JvdXAg
aWYgaXRzIGVtcHR5ICovCj4gKyDCoCDCoCDCoCBzdHJ1Y3QgYnRyZnNfd29yayB3b3JrOwo+IMKg
fTsKPgo+IMKgc3RydWN0IHJlbG9jX2NvbnRyb2w7Cj4gZGlmZiAtLWdpdCBhL2ZzL2J0cmZzL2V4
dGVudC10cmVlLmMgYi9mcy9idHJmcy9leHRlbnQtdHJlZS5jCj4gaW5kZXggNDNhYTYyYS4uODdh
YWU2NiAxMDA2NDQKPiAtLS0gYS9mcy9idHJmcy9leHRlbnQtdHJlZS5jCj4gKysrIGIvZnMvYnRy
ZnMvZXh0ZW50LXRyZWUuYwo+IEBAIC02NCw2ICs2NCwxMSBAQCBzdGF0aWMgaW50IGZpbmRfbmV4
dF9rZXkoc3RydWN0IGJ0cmZzX3BhdGggKnBhdGgsIGludCBsZXZlbCwKPiDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBzdHJ1Y3QgYnRyZnNfa2V5ICprZXkpOwo+IMKgc3RhdGlj
IHZvaWQgZHVtcF9zcGFjZV9pbmZvKHN0cnVjdCBidHJmc19zcGFjZV9pbmZvICppbmZvLCB1NjQg
Ynl0ZXMsCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpbnQgZHVt
cF9ibG9ja19ncm91cHMpOwo+ICtzdGF0aWMgaW50IGJ0cmZzX3NldF9ibG9ja19ncm91cF9yb190
cmFucyhzdHJ1Y3QgYnRyZnNfdHJhbnNfaGFuZGxlICp0cmFucywKPiArIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHN0cnVjdCBidHJm
c19yb290ICpyb290LAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlCj4gKyDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCAqY2FjaGUpOwo+ICtzdGF0aWMgaW50IHNldF9ibG9ja19ncm91cF9yb19sb2NrKHN0cnVjdCBi
dHJmc19ibG9ja19ncm91cF9jYWNoZSAqY2FjaGUpOwo+Cj4gwqBzdGF0aWMgbm9pbmxpbmUgaW50
Cj4gwqBibG9ja19ncm91cF9jYWNoZV9kb25lKHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNo
ZSAqY2FjaGUpCj4gQEAgLTQwNTIsNiArNDA1Nyw3IEBAIHN0YXRpYyBpbnQgdXBkYXRlX2Jsb2Nr
X2dyb3VwKHN0cnVjdCBidHJmc190cmFuc19oYW5kbGUgKnRyYW5zLAo+IMKgIMKgIMKgIMKgdTY0
IG9sZF92YWw7Cj4gwqAgwqAgwqAgwqB1NjQgYnl0ZV9pbl9ncm91cDsKPiDCoCDCoCDCoCDCoGlu
dCBmYWN0b3I7Cj4gKyDCoCDCoCDCoCBpbnQgZW1wdHkgPSAwOwo+Cj4gwqAgwqAgwqAgwqAvKiBi
bG9jayBhY2NvdW50aW5nIGZvciBzdXBlciBibG9jayAqLwo+IMKgIMKgIMKgIMKgc3Bpbl9sb2Nr
KCZpbmZvLT5kZWxhbGxvY19sb2NrKTsKPiBAQCAtNDA2NCw2ICs0MDcwLDcgQEAgc3RhdGljIGlu
dCB1cGRhdGVfYmxvY2tfZ3JvdXAoc3RydWN0IGJ0cmZzX3RyYW5zX2hhbmRsZSAqdHJhbnMsCj4g
wqAgwqAgwqAgwqBzcGluX3VubG9jaygmaW5mby0+ZGVsYWxsb2NfbG9jayk7Cj4KPiDCoCDCoCDC
oCDCoHdoaWxlICh0b3RhbCkgewo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZW1wdHkgPSAwOwo+
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY2FjaGUgPSBidHJmc19sb29rdXBfYmxvY2tfZ3JvdXAo
aW5mbywgYnl0ZW5yKTsKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGlmICghY2FjaGUpCj4gwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqByZXR1cm4gLTE7Cj4gQEAgLTQwOTYsNiAr
NDEwMywxMiBAQCBzdGF0aWMgaW50IHVwZGF0ZV9ibG9ja19ncm91cChzdHJ1Y3QgYnRyZnNfdHJh
bnNfaGFuZGxlICp0cmFucywKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoG9sZF92YWwgPSBidHJm
c19ibG9ja19ncm91cF91c2VkKCZjYWNoZS0+aXRlbSk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqBudW1fYnl0ZXMgPSBtaW4odG90YWwsIGNhY2hlLT5rZXkub2Zmc2V0IC0gYnl0ZV9pbl9ncm91
cCk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpZiAoYWxsb2MpIHsKPiArIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIC8qCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCogV2UgcmFjZWQgd2l0aCBzZXR0aW5nIHRoZSBibG9jayBncm91cCByZWFkIG9ubHks
IHdlCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCogbmVlZCB0byBjaGFu
Z2UgaXQgYmFjayB0byBydwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAq
Lwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKGNhY2hlLT5ybykKPiAr
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGVtcHR5ID0gLTE7
Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBvbGRfdmFsICs9IG51bV9ieXRl
czsKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGJ0cmZzX3NldF9ibG9ja19n
cm91cF91c2VkKCZjYWNoZS0+aXRlbSwgb2xkX3ZhbCk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqBjYWNoZS0+cmVzZXJ2ZWQgLT0gbnVtX2J5dGVzOwo+IEBAIC00MTA2LDYg
KzQxMTksOCBAQCBzdGF0aWMgaW50IHVwZGF0ZV9ibG9ja19ncm91cChzdHJ1Y3QgYnRyZnNfdHJh
bnNfaGFuZGxlICp0cmFucywKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHNw
aW5fdW5sb2NrKCZjYWNoZS0+c3BhY2VfaW5mby0+bG9jayk7Cj4gwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqB9IGVsc2Ugewo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgb2xkX3Zh
bCAtPSBudW1fYnl0ZXM7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAo
b2xkX3ZhbCA9PSAwKQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgZW1wdHkgPSAxOwo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYnRy
ZnNfc2V0X2Jsb2NrX2dyb3VwX3VzZWQoJmNhY2hlLT5pdGVtLCBvbGRfdmFsKTsKPiDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNhY2hlLT5waW5uZWQgKz0gbnVtX2J5dGVzOwo+
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgY2FjaGUtPnNwYWNlX2luZm8tPmJ5
dGVzX3Bpbm5lZCArPSBudW1fYnl0ZXM7Cj4gQEAgLTQxMTgsNiArNDEzMywyOSBAQCBzdGF0aWMg
aW50IHVwZGF0ZV9ibG9ja19ncm91cChzdHJ1Y3QgYnRyZnNfdHJhbnNfaGFuZGxlICp0cmFucywK
PiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCBieXRlbnIsIGJ5dGVuciArIG51bV9ieXRlcyAtIDEsCj4gwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgR0ZQX05PRlMgfCBfX0dG
UF9OT0ZBSUwpOwo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgfQo+ICsgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgLyoKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKiBTbyB3ZSBuZWVkIHRvIGRlYWwg
d2l0aCAyIGNhc2VzIGhlcmUKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKgo+ICsgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAqIDEpIGVtcHR5ID09IDEsIHdoaWNoIG1lYW5zIHRoZSBibG9jayBn
cm91cCBpcyBlbXB0eSBhbmQKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKiBuZWVkcyB0byBi
ZSBtYXJrZWQgcm8gc28gd2UgY2FuIHJlbW92ZSBpdCBsYXRlcgo+ICsgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAqCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCogLW9yLQo+ICsgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAqCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCogMikgZW1wdHkgPT0g
LTEsIHdoaWNoIG1lYW5zIHRoZSBibG9jayBncm91cCB3YXMgcHJldmlvdXNseQo+ICsgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAqIGVtcHR5IGFuZCBtYXJrZWQgcmVhZCBvbmx5LCBidXQgbm90IGJl
Zm9yZSBzb21lYm9keSB0cmllZCB0bwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAqIG1ha2Ug
YW4gYWxsb2NhdGlvbiwgc28gZ28gYWhlYWQgYW5kIG1hcmsgaXQgcncuCj4gKyDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCovCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBzd2l0Y2ggKGVtcHR5KSB7
Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBjYXNlIC0xOgo+ICsgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgYnRyZnNfc2V0X2Jsb2NrX2dyb3VwX3J3KHJvb3QsIGNhY2hlKTsKPiAr
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJyZWFrOwo+ICsgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgY2FzZSAxOgo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYnRy
ZnNfc2V0X2Jsb2NrX2dyb3VwX3JvX3RyYW5zKHRyYW5zLCByb290LCBjYWNoZSk7Cj4gKyDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicmVhazsKPiArIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIGRlZmF1bHQ6Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicmVhazsK
PiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH0KPiArCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBi
dHJmc19wdXRfYmxvY2tfZ3JvdXAoY2FjaGUpOwo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdG90
YWwgLT0gbnVtX2J5dGVzOwo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYnl0ZW5yICs9IG51bV9i
eXRlczsKPiBAQCAtNDI4OCw2ICs0MzI2LDE3IEBAIHN0YXRpYyBpbnQgdW5waW5fZXh0ZW50X3Jh
bmdlKHN0cnVjdCBidHJmc19yb290ICpyb290LCB1NjQgc3RhcnQsIHU2NCBlbmQpCj4gwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBjYWNoZS0+cmVzZXJ2ZWRfcGlubmVkIC09IGxl
bjsKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNhY2hlLT5zcGFjZV9pbmZv
LT5ieXRlc19yZXNlcnZlZCArPSBsZW47Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB9Cj4gKwo+
ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKGJ0cmZzX2Jsb2NrX2dyb3VwX3VzZWQoJmNhY2hl
LT5pdGVtKSA9PSAwICYmCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBjYWNoZS0+cGlu
bmVkID09IDApIHsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGludCByZXQg
PSAwOwo+ICsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmICghY2FjaGUt
PnJvKQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcmV0
ID0gc2V0X2Jsb2NrX2dyb3VwX3JvX2xvY2soY2FjaGUpOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgaWYgKCFyZXQpCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCBidHJmc19xdWV1ZV93b3JrZXIoJmZzX2luZm8tPmdlbmVyaWNfd29y
a2VyLAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAmY2FjaGUtPndvcmspOwo+ICsgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgfQo+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgc3Bpbl91bmxvY2soJmNhY2hlLT5s
b2NrKTsKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHNwaW5fdW5sb2NrKCZjYWNoZS0+c3BhY2Vf
aW5mby0+bG9jayk7Cj4gwqAgwqAgwqAgwqB9Cj4gQEAgLTc5MDUsNyArNzk1NCw3IEBAIHN0YXRp
YyB1NjQgdXBkYXRlX2Jsb2NrX2dyb3VwX2ZsYWdzKHN0cnVjdCBidHJmc19yb290ICpyb290LCB1
NjQgZmxhZ3MpCj4gwqAgwqAgwqAgwqByZXR1cm4gZmxhZ3M7Cj4gwqB9Cj4KPiAtc3RhdGljIGlu
dCBzZXRfYmxvY2tfZ3JvdXBfcm8oc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpjYWNo
ZSkKPiArc3RhdGljIGludCBzZXRfYmxvY2tfZ3JvdXBfcm9fbG9jayhzdHJ1Y3QgYnRyZnNfYmxv
Y2tfZ3JvdXBfY2FjaGUgKmNhY2hlKQo+IMKgewo+IMKgIMKgIMKgIMKgc3RydWN0IGJ0cmZzX3Nw
YWNlX2luZm8gKnNpbmZvID0gY2FjaGUtPnNwYWNlX2luZm87Cj4gwqAgwqAgwqAgwqB1NjQgbnVt
X2J5dGVzOwo+IEBAIC03OTE0LDggKzc5NjMsNiBAQCBzdGF0aWMgaW50IHNldF9ibG9ja19ncm91
cF9ybyhzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmNhY2hlKQo+IMKgIMKgIMKgIMKg
aWYgKGNhY2hlLT5ybykKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHJldHVybiAwOwo+Cj4gLSDC
oCDCoCDCoCBzcGluX2xvY2soJnNpbmZvLT5sb2NrKTsKPiAtIMKgIMKgIMKgIHNwaW5fbG9jaygm
Y2FjaGUtPmxvY2spOwo+IMKgIMKgIMKgIMKgbnVtX2J5dGVzID0gY2FjaGUtPmtleS5vZmZzZXQg
LSBjYWNoZS0+cmVzZXJ2ZWQgLSBjYWNoZS0+cGlubmVkIC0KPiDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoGNhY2hlLT5ieXRlc19zdXBlciAtIGJ0cmZzX2Jsb2NrX2dyb3VwX3VzZWQoJmNh
Y2hlLT5pdGVtKTsKPgo+IEBAIC03OTI4LDM3ICs3OTc1LDY3IEBAIHN0YXRpYyBpbnQgc2V0X2Js
b2NrX2dyb3VwX3JvKHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqY2FjaGUpCj4gwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqBjYWNoZS0+cm8gPSAxOwo+IMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgcmV0ID0gMDsKPiDCoCDCoCDCoCDCoH0KPiArCj4gKyDCoCDCoCDCoCByZXR1cm4gcmV0Owo+
ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHNldF9ibG9ja19ncm91cF9ybyhzdHJ1Y3QgYnRyZnNfYmxv
Y2tfZ3JvdXBfY2FjaGUgKmNhY2hlKQo+ICt7Cj4gKyDCoCDCoCDCoCBzdHJ1Y3QgYnRyZnNfc3Bh
Y2VfaW5mbyAqc2luZm8gPSBjYWNoZS0+c3BhY2VfaW5mbzsKPiArIMKgIMKgIMKgIGludCByZXQ7
Cj4gKwo+ICsgwqAgwqAgwqAgc3Bpbl9sb2NrKCZzaW5mby0+bG9jayk7Cj4gKyDCoCDCoCDCoCBz
cGluX2xvY2soJmNhY2hlLT5sb2NrKTsKPiArIMKgIMKgIMKgIHJldCA9IHNldF9ibG9ja19ncm91
cF9yb19sb2NrKGNhY2hlKTsKPiDCoCDCoCDCoCDCoHNwaW5fdW5sb2NrKCZjYWNoZS0+bG9jayk7
Cj4gwqAgwqAgwqAgwqBzcGluX3VubG9jaygmc2luZm8tPmxvY2spOwo+ICsKPiDCoCDCoCDCoCDC
oHJldHVybiByZXQ7Cj4gwqB9Cj4KPiAtaW50IGJ0cmZzX3NldF9ibG9ja19ncm91cF9ybyhzdHJ1
Y3QgYnRyZnNfcm9vdCAqcm9vdCwKPiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpjYWNoZSkKPiAtCj4gK3N0
YXRpYyBpbnQgYnRyZnNfc2V0X2Jsb2NrX2dyb3VwX3JvX3RyYW5zKHN0cnVjdCBidHJmc190cmFu
c19oYW5kbGUgKnRyYW5zLAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgc3RydWN0IGJ0cmZzX3Jvb3QgKnJvb3QsCj4gKyDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBz
dHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICpjYWNoZSkKPiDCoHsKPiAtIMKg
IMKgIMKgIHN0cnVjdCBidHJmc190cmFuc19oYW5kbGUgKnRyYW5zOwo+IMKgIMKgIMKgIMKgdTY0
IGFsbG9jX2ZsYWdzOwo+IMKgIMKgIMKgIMKgaW50IHJldDsKPiArIMKgIMKgIMKgIGJvb2wgYWxs
b2MgPSB0cnVlOwo+Cj4gLSDCoCDCoCDCoCBCVUdfT04oY2FjaGUtPnJvKTsKPiArIMKgIMKgIMKg
IC8qCj4gKyDCoCDCoCDCoCDCoCogSWYgd2UncmUgdHJ5aW5nIHRvIHNldCB0aGUgYmxvY2sgZ3Jv
dXAgYXMgcmVhZCBvbmx5IGluIGEgdHJhbnNhY3Rpb24KPiArIMKgIMKgIMKgIMKgKiBjb21taXQg
dGhlbiBhdm9pZCBkb2luZyB0aGUgY2h1bmsgYWxsb2MgdG8gbWFrZSBsb2NrZGVwIGhhcHB5Lgo+
ICsgwqAgwqAgwqAgwqAqLwo+ICsgwqAgwqAgwqAgaWYgKHRyYW5zLT50cmFuc2FjdGlvbi0+aW5f
Y29tbWl0KQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYWxsb2MgPSBmYWxzZTsKPgo+IC0gwqAg
wqAgwqAgdHJhbnMgPSBidHJmc19qb2luX3RyYW5zYWN0aW9uKHJvb3QsIDEpOwo+IC0gwqAgwqAg
wqAgQlVHX09OKElTX0VSUih0cmFucykpOwo+ICsgwqAgwqAgwqAgaWYgKGNhY2hlLT5ybykKPiAr
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldHVybiAwOwo+Cj4gwqAgwqAgwqAgwqBhbGxvY19mbGFn
cyA9IHVwZGF0ZV9ibG9ja19ncm91cF9mbGFncyhyb290LCBjYWNoZS0+ZmxhZ3MpOwo+IC0gwqAg
wqAgwqAgaWYgKGFsbG9jX2ZsYWdzICE9IGNhY2hlLT5mbGFncykKPiArIMKgIMKgIMKgIGlmIChh
bGxvYyAmJiBhbGxvY19mbGFncyAhPSBjYWNoZS0+ZmxhZ3MpCj4gwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqBkb19jaHVua19hbGxvYyh0cmFucywgcm9vdCwgMiAqIDEwMjQgKiAxMDI0LCBhbGxvY19m
bGFncywgMSk7Cj4KPiDCoCDCoCDCoCDCoHJldCA9IHNldF9ibG9ja19ncm91cF9ybyhjYWNoZSk7
Cj4gLSDCoCDCoCDCoCBpZiAoIXJldCkKPiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGdvdG8gb3V0
Owo+ICsgwqAgwqAgwqAgaWYgKCFyZXQgfHwgIWFsbG9jKQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgcmV0dXJuIHJldDsKPiDCoCDCoCDCoCDCoGFsbG9jX2ZsYWdzID0gZ2V0X2FsbG9jX3Byb2Zp
bGUocm9vdCwgY2FjaGUtPnNwYWNlX2luZm8tPmZsYWdzKTsKPiDCoCDCoCDCoCDCoHJldCA9IGRv
X2NodW5rX2FsbG9jKHRyYW5zLCByb290LCAyICogMTAyNCAqIDEwMjQsIGFsbG9jX2ZsYWdzLCAx
KTsKPiDCoCDCoCDCoCDCoGlmIChyZXQgPCAwKQo+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgZ290
byBvdXQ7Cj4gLSDCoCDCoCDCoCByZXQgPSBzZXRfYmxvY2tfZ3JvdXBfcm8oY2FjaGUpOwo+IC1v
dXQ6Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXR1cm4gcmV0Owo+ICsgwqAgwqAgwqAgcmV0
dXJuIHNldF9ibG9ja19ncm91cF9ybyhjYWNoZSk7Cj4gK30KPiArCj4gK2ludCBidHJmc19zZXRf
YmxvY2tfZ3JvdXBfcm8oc3RydWN0IGJ0cmZzX3Jvb3QgKnJvb3QsCj4gKyDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNo
ZSAqY2FjaGUpCj4gK3sKPiArIMKgIMKgIMKgIHN0cnVjdCBidHJmc190cmFuc19oYW5kbGUgKnRy
YW5zOwo+ICsgwqAgwqAgwqAgaW50IHJldDsKPiArCj4gKyDCoCDCoCDCoCB0cmFucyA9IGJ0cmZz
X2pvaW5fdHJhbnNhY3Rpb24ocm9vdCwgMCk7Cj4gKyDCoCDCoCDCoCBpZiAoSVNfRVJSKHRyYW5z
KSkKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldHVybiBQVFJfRVJSKHRyYW5zKTsKPiArIMKg
IMKgIMKgIHJldCA9IGJ0cmZzX3NldF9ibG9ja19ncm91cF9yb190cmFucyh0cmFucywgcm9vdCwg
Y2FjaGUpOwo+IMKgIMKgIMKgIMKgYnRyZnNfZW5kX3RyYW5zYWN0aW9uKHRyYW5zLCByb290KTsK
PiDCoCDCoCDCoCDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gQEAgLTgyMDYsNiArODI4Myw0MyBAQCBz
dGF0aWMgdm9pZCBfX2xpbmtfYmxvY2tfZ3JvdXAoc3RydWN0IGJ0cmZzX3NwYWNlX2luZm8gKnNw
YWNlX2luZm8sCj4gwqAgwqAgwqAgwqB1cF93cml0ZSgmc3BhY2VfaW5mby0+Z3JvdXBzX3NlbSk7
Cj4gwqB9Cj4KPiArc3RhdGljIHZvaWQgYmxvY2tfZ3JvdXBfZGVsZXRlX2ZuKHN0cnVjdCBidHJm
c193b3JrICp3b3JrKQo+ICt7Cj4gKyDCoCDCoCDCoCBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBf
Y2FjaGUgKmNhY2hlOwo+ICsgwqAgwqAgwqAgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm87Cj4g
KyDCoCDCoCDCoCBzdHJ1Y3QgYnRyZnNfdHJhbnNfaGFuZGxlICp0cmFuczsKPiArIMKgIMKgIMKg
IHN0cnVjdCBidHJmc19yb290ICpyb290Owo+ICsgwqAgwqAgwqAgdTY0IGNodW5rX3RyZWU7Cj4g
KyDCoCDCoCDCoCB1NjQgY2h1bmtfb2JqZWN0aWQ7Cj4gKyDCoCDCoCDCoCBpbnQgcmV0Owo+ICsK
PiArIMKgIMKgIMKgIC8qCj4gKyDCoCDCoCDCoCDCoCogSWYgYW55dGhpbmcgZmFpbHMgaW4gaGVy
ZSwganVzdCBtYXJrIHRoZSBibG9jayBncm91cCBhcyBydyBhbmQKPiArIMKgIMKgIMKgIMKgKiBy
ZXR1cm4uCj4gKyDCoCDCoCDCoCDCoCovCj4gKyDCoCDCoCDCoCBjYWNoZSA9IGNvbnRhaW5lcl9v
Zih3b3JrLCBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUsIHdvcmspOwo+ICsgwqAgwqAg
wqAgaW5mbyA9IGNhY2hlLT5mc19pbmZvOwo+ICsgwqAgwqAgwqAgcm9vdCA9IGluZm8tPmV4dGVu
dF9yb290Owo+ICsgwqAgwqAgwqAgY2h1bmtfdHJlZSA9IGluZm8tPmNodW5rX3Jvb3QtPnJvb3Rf
a2V5Lm9iamVjdGlkOwo+ICsgwqAgwqAgwqAgY2h1bmtfb2JqZWN0aWQgPSBidHJmc19ibG9ja19n
cm91cF9jaHVua19vYmplY3RpZCgmY2FjaGUtPml0ZW0pOwo+ICsKPiArIMKgIMKgIMKgIGlmICgh
Y2FjaGUtPnJvKSB7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBXQVJOX09OX09OQ0UoMSk7Cj4g
KyDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXR1cm47Cj4gKyDCoCDCoCDCoCB9Cj4gKwo+ICsgwqAg
wqAgwqAgdHJhbnMgPSBidHJmc19zdGFydF90cmFuc2FjdGlvbihpbmZvLT5leHRlbnRfcm9vdCwg
MCk7Cj4gKyDCoCDCoCDCoCBpZiAoSVNfRVJSKHRyYW5zKSkgewo+ICsgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgYnRyZnNfc2V0X2Jsb2NrX2dyb3VwX3J3KHJvb3QsIGNhY2hlKTsKPiArIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIHJldHVybjsKPiArIMKgIMKgIMKgIH0KPiArIMKgIMKgIMKgIHJldCA9IGJ0
cmZzX3JlbW92ZV9jaHVuayh0cmFucywgcm9vdCwgY2h1bmtfdHJlZSwgY2h1bmtfb2JqZWN0aWQs
Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNhY2hl
LT5rZXkub2JqZWN0aWQpOwo+ICsgwqAgwqAgwqAgaWYgKHJldCkKPiArIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIGJ0cmZzX3NldF9ibG9ja19ncm91cF9ydyhyb290LCBjYWNoZSk7Cj4gKyDCoCDCoCDC
oCBidHJmc19lbmRfdHJhbnNhY3Rpb24odHJhbnMsIHJvb3QpOwo+ICt9Cj4gKwo+IMKgaW50IGJ0
cmZzX3JlYWRfYmxvY2tfZ3JvdXBzKHN0cnVjdCBidHJmc19yb290ICpyb290KQo+IMKgewo+IMKg
IMKgIMKgIMKgc3RydWN0IGJ0cmZzX3BhdGggKnBhdGg7Cj4gQEAgLTgyNTcsNiArODM3MSw3IEBA
IGludCBidHJmc19yZWFkX2Jsb2NrX2dyb3VwcyhzdHJ1Y3QgYnRyZnNfcm9vdCAqcm9vdCkKPiDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNhY2hlLT5mc19pbmZvID0gaW5mbzsKPiDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoElOSVRfTElTVF9IRUFEKCZjYWNoZS0+bGlzdCk7Cj4gwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqBJTklUX0xJU1RfSEVBRCgmY2FjaGUtPmNsdXN0ZXJfbGlzdCk7Cj4gKyDCoCDC
oCDCoCDCoCDCoCDCoCDCoCBjYWNoZS0+d29yay5mdW5jID0gYmxvY2tfZ3JvdXBfZGVsZXRlX2Zu
Owo+Cj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpZiAobmVlZF9jbGVhcikKPiDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNhY2hlLT5kaXNrX2NhY2hlX3N0YXRlID0gQlRSRlNf
RENfQ0xFQVI7Cj4gQEAgLTgzNzksNiArODQ5NCw3IEBAIGludCBidHJmc19tYWtlX2Jsb2NrX2dy
b3VwKHN0cnVjdCBidHJmc190cmFuc19oYW5kbGUgKnRyYW5zLAo+IMKgIMKgIMKgIMKgc3Bpbl9s
b2NrX2luaXQoJmNhY2hlLT50cmVlX2xvY2spOwo+IMKgIMKgIMKgIMKgSU5JVF9MSVNUX0hFQUQo
JmNhY2hlLT5saXN0KTsKPiDCoCDCoCDCoCDCoElOSVRfTElTVF9IRUFEKCZjYWNoZS0+Y2x1c3Rl
cl9saXN0KTsKPiArIMKgIMKgIMKgIGNhY2hlLT53b3JrLmZ1bmMgPSBibG9ja19ncm91cF9kZWxl
dGVfZm47Cj4KPiDCoCDCoCDCoCDCoGJ0cmZzX3NldF9ibG9ja19ncm91cF91c2VkKCZjYWNoZS0+
aXRlbSwgYnl0ZXNfdXNlZCk7Cj4gwqAgwqAgwqAgwqBidHJmc19zZXRfYmxvY2tfZ3JvdXBfY2h1
bmtfb2JqZWN0aWQoJmNhY2hlLT5pdGVtLCBjaHVua19vYmplY3RpZCk7Cj4gZGlmZiAtLWdpdCBh
L2ZzL2J0cmZzL3ZvbHVtZXMuYyBiL2ZzL2J0cmZzL3ZvbHVtZXMuYwo+IGluZGV4IGNjMDRkYzEu
LjQ5YzA1NWIgMTAwNjQ0Cj4gLS0tIGEvZnMvYnRyZnMvdm9sdW1lcy5jCj4gKysrIGIvZnMvYnRy
ZnMvdm9sdW1lcy5jCj4gQEAgLTE3MjYsMTMgKzE3MjYsMTMgQEAgc3RhdGljIGludCBidHJmc19k
ZWxfc3lzX2NodW5rKHN0cnVjdCBidHJmc19yb290ICpyb290LCB1NjQgY2h1bmtfb2JqZWN0aWQs
IHU2NAo+IMKgIMKgIMKgIMKgcmV0dXJuIHJldDsKPiDCoH0KPgo+IC1zdGF0aWMgaW50IGJ0cmZz
X3JlbG9jYXRlX2NodW5rKHN0cnVjdCBidHJmc19yb290ICpyb290LAo+IC0gwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB1NjQgY2h1bmtfdHJlZSwgdTY0IGNodW5rX29iamVjdGlk
LAo+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqB1NjQgY2h1bmtfb2Zmc2V0
KQo+ICtpbnQgYnRyZnNfcmVtb3ZlX2NodW5rKHN0cnVjdCBidHJmc190cmFuc19oYW5kbGUgKnRy
YW5zLAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBzdHJ1Y3QgYnRyZnNfcm9v
dCAqcm9vdCwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdTY0IGNodW5rX3Ry
ZWUsIHU2NCBjaHVua19vYmplY3RpZCwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgdTY0IGNodW5rX29mZnNldCkKPiDCoHsKPiDCoCDCoCDCoCDCoHN0cnVjdCBleHRlbnRfbWFw
X3RyZWUgKmVtX3RyZWU7Cj4gwqAgwqAgwqAgwqBzdHJ1Y3QgYnRyZnNfcm9vdCAqZXh0ZW50X3Jv
b3Q7Cj4gLSDCoCDCoCDCoCBzdHJ1Y3QgYnRyZnNfdHJhbnNfaGFuZGxlICp0cmFuczsKPiDCoCDC
oCDCoCDCoHN0cnVjdCBleHRlbnRfbWFwICplbTsKPiDCoCDCoCDCoCDCoHN0cnVjdCBtYXBfbG9v
a3VwICptYXA7Cj4gwqAgwqAgwqAgwqBpbnQgcmV0Owo+IEBAIC0xNzQyLDE4ICsxNzQyLDYgQEAg
c3RhdGljIGludCBidHJmc19yZWxvY2F0ZV9jaHVuayhzdHJ1Y3QgYnRyZnNfcm9vdCAqcm9vdCwK
PiDCoCDCoCDCoCDCoGV4dGVudF9yb290ID0gcm9vdC0+ZnNfaW5mby0+ZXh0ZW50X3Jvb3Q7Cj4g
wqAgwqAgwqAgwqBlbV90cmVlID0gJnJvb3QtPmZzX2luZm8tPm1hcHBpbmdfdHJlZS5tYXBfdHJl
ZTsKPgo+IC0gwqAgwqAgwqAgcmV0ID0gYnRyZnNfY2FuX3JlbG9jYXRlKGV4dGVudF9yb290LCBj
aHVua19vZmZzZXQpOwo+IC0gwqAgwqAgwqAgaWYgKHJldCkKPiAtIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIHJldHVybiAtRU5PU1BDOwo+IC0KPiAtIMKgIMKgIMKgIC8qIHN0ZXAgb25lLCByZWxvY2F0
ZSBhbGwgdGhlIGV4dGVudHMgaW5zaWRlIHRoaXMgY2h1bmsgKi8KPiAtIMKgIMKgIMKgIHJldCA9
IGJ0cmZzX3JlbG9jYXRlX2Jsb2NrX2dyb3VwKGV4dGVudF9yb290LCBjaHVua19vZmZzZXQpOwo+
IC0gwqAgwqAgwqAgaWYgKHJldCkKPiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldHVybiByZXQ7
Cj4gLQo+IC0gwqAgwqAgwqAgdHJhbnMgPSBidHJmc19zdGFydF90cmFuc2FjdGlvbihyb290LCAw
KTsKPiAtIMKgIMKgIMKgIEJVR19PTighdHJhbnMpOwo+IC0KPiDCoCDCoCDCoCDCoGxvY2tfY2h1
bmtzKHJvb3QpOwo+Cj4gwqAgwqAgwqAgwqAvKgo+IEBAIC0xODA0LDEwICsxNzkyLDQwIEBAIHN0
YXRpYyBpbnQgYnRyZnNfcmVsb2NhdGVfY2h1bmsoc3RydWN0IGJ0cmZzX3Jvb3QgKnJvb3QsCj4g
wqAgwqAgwqAgwqBmcmVlX2V4dGVudF9tYXAoZW0pOwo+Cj4gwqAgwqAgwqAgwqB1bmxvY2tfY2h1
bmtzKHJvb3QpOwo+IC0gwqAgwqAgwqAgYnRyZnNfZW5kX3RyYW5zYWN0aW9uKHRyYW5zLCByb290
KTsKPiDCoCDCoCDCoCDCoHJldHVybiAwOwo+IMKgfQo+Cj4gK3N0YXRpYyBpbnQgYnRyZnNfcmVs
b2NhdGVfY2h1bmsoc3RydWN0IGJ0cmZzX3Jvb3QgKnJvb3QsCj4gKyDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoHU2NCBjaHVua190cmVlLCB1NjQgY2h1bmtfb2JqZWN0aWQsCj4g
KyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHU2NCBjaHVua19vZmZzZXQpCj4g
K3sKPiArIMKgIMKgIMKgIHN0cnVjdCBidHJmc19yb290ICpleHRlbnRfcm9vdDsKPiArIMKgIMKg
IMKgIHN0cnVjdCBidHJmc190cmFuc19oYW5kbGUgKnRyYW5zOwo+ICsgwqAgwqAgwqAgaW50IHJl
dDsKPiArCj4gKyDCoCDCoCDCoCByb290ID0gcm9vdC0+ZnNfaW5mby0+Y2h1bmtfcm9vdDsKPiAr
IMKgIMKgIMKgIGV4dGVudF9yb290ID0gcm9vdC0+ZnNfaW5mby0+ZXh0ZW50X3Jvb3Q7Cj4gKwo+
ICsgwqAgwqAgwqAgcmV0ID0gYnRyZnNfY2FuX3JlbG9jYXRlKGV4dGVudF9yb290LCBjaHVua19v
ZmZzZXQpOwo+ICsgwqAgwqAgwqAgaWYgKHJldCkKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJl
dHVybiAtRU5PU1BDOwo+ICsKPiArIMKgIMKgIMKgIC8qIHN0ZXAgb25lLCByZWxvY2F0ZSBhbGwg
dGhlIGV4dGVudHMgaW5zaWRlIHRoaXMgY2h1bmsgKi8KPiArIMKgIMKgIMKgIHJldCA9IGJ0cmZz
X3JlbG9jYXRlX2Jsb2NrX2dyb3VwKGV4dGVudF9yb290LCBjaHVua19vZmZzZXQpOwo+ICsgwqAg
wqAgwqAgaWYgKHJldCkKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldHVybiByZXQ7Cj4gKwo+
ICsgwqAgwqAgwqAgdHJhbnMgPSBidHJmc19zdGFydF90cmFuc2FjdGlvbihyb290LCAwKTsKPiAr
IMKgIMKgIMKgIEJVR19PTighdHJhbnMpOwo+ICsKPiArIMKgIMKgIMKgIHJldCA9IGJ0cmZzX3Jl
bW92ZV9jaHVuayh0cmFucywgcm9vdCwgY2h1bmtfdHJlZSwgY2h1bmtfb2JqZWN0aWQsCj4gKyDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGNodW5rX29mZnNl
dCk7Cj4gKwo+ICsgwqAgwqAgwqAgYnRyZnNfZW5kX3RyYW5zYWN0aW9uKHRyYW5zLCByb290KTsK
PiArCj4gKyDCoCDCoCDCoCByZXR1cm4gcmV0Owo+ICt9Cj4gKwo+IMKgc3RhdGljIGludCBidHJm
c19yZWxvY2F0ZV9zeXNfY2h1bmtzKHN0cnVjdCBidHJmc19yb290ICpyb290KQo+IMKgewo+IMKg
IMKgIMKgIMKgc3RydWN0IGJ0cmZzX3Jvb3QgKmNodW5rX3Jvb3QgPSByb290LT5mc19pbmZvLT5j
aHVua19yb290Owo+IGRpZmYgLS1naXQgYS9mcy9idHJmcy92b2x1bWVzLmggYi9mcy9idHJmcy92
b2x1bWVzLmgKPiBpbmRleCAyYjYzOGI2Li40OTE3Y2MwIDEwMDY0NAo+IC0tLSBhL2ZzL2J0cmZz
L3ZvbHVtZXMuaAo+ICsrKyBiL2ZzL2J0cmZzL3ZvbHVtZXMuaAo+IEBAIC0xODMsNCArMTgzLDgg
QEAgaW50IGJ0cmZzX2NodW5rX3JlYWRvbmx5KHN0cnVjdCBidHJmc19yb290ICpyb290LCB1NjQg
Y2h1bmtfb2Zmc2V0KTsKPiDCoGludCBmaW5kX2ZyZWVfZGV2X2V4dGVudChzdHJ1Y3QgYnRyZnNf
dHJhbnNfaGFuZGxlICp0cmFucywKPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCBzdHJ1Y3QgYnRyZnNfZGV2aWNlICpkZXZpY2UsIHU2NCBudW1fYnl0ZXMsCj4gwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdTY0ICpzdGFydCwgdTY0ICptYXhfYXZhaWwpOwo+
ICtpbnQgYnRyZnNfcmVtb3ZlX2NodW5rKHN0cnVjdCBidHJmc190cmFuc19oYW5kbGUgKnRyYW5z
LAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBzdHJ1Y3QgYnRyZnNfcm9vdCAq
cm9vdCwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgdTY0IGNodW5rX3RyZWUs
IHU2NCBjaHVua19vYmplY3RpZCwKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
dTY0IGNodW5rX29mZnNldCk7Cj4gwqAjZW5kaWYKPiAtLQo+IDEuNi42LjEKPgo+IC0tCj4gVG8g
dW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxp
bnV4LWJ0cmZzIiBpbgo+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5r
ZXJuZWwub3JnCj4gTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCDCoGh0dHA6Ly92Z2VyLmtlcm5lbC5v
cmcvbWFqb3Jkb21vLWluZm8uaHRtbAo+Cg==
next prev parent reply other threads:[~2010-11-30 17:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-30 16:46 [PATCH] Btrfs: dynamically remove unused block groups Josef Bacik
2010-11-30 17:37 ` Josh Berry [this message]
2010-11-30 19:01 ` Josef Bacik
2010-11-30 19:31 ` Josh Berry
2010-11-30 19:35 ` Josef Bacik
2010-12-01 4:53 ` Anthony Roberts
2010-12-01 8:11 ` Josef Bacik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTikkU_2SbtVzRuUJbTGO3dQGQc9Jd8FgpGFPF7uE@mail.gmail.com \
--to=des@condordes.net \
--cc=josef@redhat.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).