From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 490B221A16ED8 for ; Thu, 18 May 2017 16:18:18 -0700 (PDT) Received: from pps.filterd (m0098410.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v4INHhhv076642 for ; Thu, 18 May 2017 19:18:16 -0400 Received: from e23smtp01.au.ibm.com (e23smtp01.au.ibm.com [202.81.31.143]) by mx0a-001b2d01.pphosted.com with ESMTP id 2ahds8bffk-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Thu, 18 May 2017 19:18:15 -0400 Received: from localhost by e23smtp01.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 19 May 2017 09:18:13 +1000 Received: from d23av06.au.ibm.com (d23av06.au.ibm.com [9.190.235.151]) by d23relay10.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v4INI2U240108072 for ; Fri, 19 May 2017 09:18:10 +1000 Received: from d23av06.au.ibm.com (localhost [127.0.0.1]) by d23av06.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id v4INHbWe011998 for ; Fri, 19 May 2017 09:17:37 +1000 Subject: Re: [PATCH 17/23] fs: switch ->s_uuid to uuid_t From: Mimi Zohar Date: Thu, 18 May 2017 19:17:07 -0400 In-Reply-To: <20170518062705.25902-18-hch@lst.de> References: <20170518062705.25902-1-hch@lst.de> <20170518062705.25902-18-hch@lst.de> Mime-Version: 1.0 Message-Id: <1495149427.3404.4.camel@linux.vnet.ibm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: Christoph Hellwig , Andy Shevchenko , Amir Goldstein , linux-fsdevel@vger.kernel.org Cc: linux-xfs@vger.kernel.org, linux-raid@vger.kernel.org, linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org, David Howells , Shaohua Li , Steven Whitehouse List-ID: T24gVGh1LCAyMDE3LTA1LTE4IGF0IDA4OjI2ICswMjAwLCBDaHJpc3RvcGggSGVsbHdpZyB3cm90 ZToKPiBGb3Igc29tZSBmaWxlIHN5c3RlbXMgd2Ugc3RpbGwgbWVtY3B5IGludG8gaXQsIGJ1dCBp biB2YXJpb3VzIHBsYWNlcyB0aGlzCj4gYWxyZWFkeSBhbGxvd3MgdXMgdG8gdXNlIHRoZSBwcm9w ZXIgdXVpZCBoZWxwZXJzLiAgTW9yZSB0byBjb21lLi4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJp c3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KCkFja2VkLWJ5OiBNaW1pIFpvaGFyIDx6b2hhckBs aW51eC52bmV0LmlibS5jb20+wqAoQ2hhbmdlcyB0byBJTUEvRVZNKQoKPiAtLS0KPiAgZHJpdmVy cy94ZW4vdG1lbS5jICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KPiAgZnMvZXh0NC9zdXBl ci5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBmcy9mMmZzL3N1cGVyLmMgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCj4gIGZzL2dmczIvb3BzX2ZzdHlwZS5jICAgICAgICAgICAg ICAgIHwgIDIgKy0KPiAgZnMvZ2ZzMi9zeXMuYyAgICAgICAgICAgICAgICAgICAgICAgfCAyMiAr KysrKy0tLS0tLS0tLS0tLS0tLS0tCj4gIGZzL29jZnMyL3N1cGVyLmMgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KPiAgZnMvb3ZlcmxheWZzL2NvcHlfdXAuYyAgICAgICAgICAgICAgfCAgNSAr Ky0tLQo+ICBmcy9vdmVybGF5ZnMvbmFtZWkuYyAgICAgICAgICAgICAgICB8ICAyICstCj4gIGZz L3hmcy94ZnNfbW91bnQuYyAgICAgICAgICAgICAgICAgIHwgIDMgKy0tCj4gIGluY2x1ZGUvbGlu dXgvY2xlYW5jYWNoZS5oICAgICAgICAgIHwgIDIgKy0KPiAgaW5jbHVkZS9saW51eC9mcy5oICAg ICAgICAgICAgICAgICAgfCAgNSArKystLQo+ICBtbS9jbGVhbmNhY2hlLmMgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCj4gIHNlY3VyaXR5L2ludGVncml0eS9ldm0vZXZtX2NyeXB0by5jIHwg IDIgKy0KPiAgc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfcG9saWN5LmMgfCAgMiArLQo+ICAx NCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vdG1lbS5jIGIvZHJpdmVycy94ZW4vdG1lbS5jCj4gaW5k ZXggNGFjMmNhOGE3NjU2Li5iZjEzZDFlYzUxZjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy94ZW4v dG1lbS5jCj4gKysrIGIvZHJpdmVycy94ZW4vdG1lbS5jCj4gQEAgLTIzMywxMiArMjMzLDEyIEBA IHN0YXRpYyBpbnQgdG1lbV9jbGVhbmNhY2hlX2luaXRfZnMoc2l6ZV90IHBhZ2VzaXplKQo+ICAJ cmV0dXJuIHhlbl90bWVtX25ld19wb29sKHV1aWRfcHJpdmF0ZSwgMCwgcGFnZXNpemUpOwo+ICB9 Cj4gCj4gLXN0YXRpYyBpbnQgdG1lbV9jbGVhbmNhY2hlX2luaXRfc2hhcmVkX2ZzKGNoYXIgKnV1 aWQsIHNpemVfdCBwYWdlc2l6ZSkKPiArc3RhdGljIGludCB0bWVtX2NsZWFuY2FjaGVfaW5pdF9z aGFyZWRfZnModXVpZF90ICp1dWlkLCBzaXplX3QgcGFnZXNpemUpCj4gIHsKPiAgCXN0cnVjdCB0 bWVtX3Bvb2xfdXVpZCBzaGFyZWRfdXVpZDsKPiAKPiAtCXNoYXJlZF91dWlkLnV1aWRfbG8gPSAq KHU2NCAqKXV1aWQ7Cj4gLQlzaGFyZWRfdXVpZC51dWlkX2hpID0gKih1NjQgKikoJnV1aWRbOF0p Owo+ICsJc2hhcmVkX3V1aWQudXVpZF9sbyA9ICoodTY0ICopJnV1aWQtPmJbMF07Cj4gKwlzaGFy ZWRfdXVpZC51dWlkX2hpID0gKih1NjQgKikmdXVpZC0+Yls4XTsKPiAgCXJldHVybiB4ZW5fdG1l bV9uZXdfcG9vbChzaGFyZWRfdXVpZCwgVE1FTV9QT09MX1NIQVJFRCwgcGFnZXNpemUpOwo+ICB9 Cj4gCj4gZGlmZiAtLWdpdCBhL2ZzL2V4dDQvc3VwZXIuYyBiL2ZzL2V4dDQvc3VwZXIuYwo+IGlu ZGV4IDBiMTc3ZGE5ZWE4Mi4uNmUzYjQxODZhMjJmIDEwMDY0NAo+IC0tLSBhL2ZzL2V4dDQvc3Vw ZXIuYwo+ICsrKyBiL2ZzL2V4dDQvc3VwZXIuYwo+IEBAIC0zOTUyLDcgKzM5NTIsNyBAQCBzdGF0 aWMgaW50IGV4dDRfZmlsbF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRh LCBpbnQgc2lsZW50KQo+ICAJCXNiLT5zX3Fjb3AgPSAmZXh0NF9xY3RsX29wZXJhdGlvbnM7Cj4g IAlzYi0+c19xdW90YV90eXBlcyA9IFFUWVBFX01BU0tfVVNSIHwgUVRZUEVfTUFTS19HUlAgfCBR VFlQRV9NQVNLX1BSSjsKPiAgI2VuZGlmCj4gLQltZW1jcHkoc2ItPnNfdXVpZCwgZXMtPnNfdXVp ZCwgc2l6ZW9mKGVzLT5zX3V1aWQpKTsKPiArCW1lbWNweSgmc2ItPnNfdXVpZCwgZXMtPnNfdXVp ZCwgc2l6ZW9mKGVzLT5zX3V1aWQpKTsKPiAKPiAgCUlOSVRfTElTVF9IRUFEKCZzYmktPnNfb3Jw aGFuKTsgLyogdW5saW5rZWQgYnV0IG9wZW4gZmlsZXMgKi8KPiAgCW11dGV4X2luaXQoJnNiaS0+ c19vcnBoYW5fbG9jayk7Cj4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMvc3VwZXIuYyBiL2ZzL2YyZnMv c3VwZXIuYwo+IGluZGV4IDgzMzU1ZWM0YTkyYy4uMGI4OWIwYjdiOWY3IDEwMDY0NAo+IC0tLSBh L2ZzL2YyZnMvc3VwZXIuYwo+ICsrKyBiL2ZzL2YyZnMvc3VwZXIuYwo+IEBAIC0xOTM3LDcgKzE5 MzcsNyBAQCBzdGF0aWMgaW50IGYyZnNfZmlsbF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNi LCB2b2lkICpkYXRhLCBpbnQgc2lsZW50KQo+ICAJc2ItPnNfdGltZV9ncmFuID0gMTsKPiAgCXNi LT5zX2ZsYWdzID0gKHNiLT5zX2ZsYWdzICYgfk1TX1BPU0lYQUNMKSB8Cj4gIAkJKHRlc3Rfb3B0 KHNiaSwgUE9TSVhfQUNMKSA/IE1TX1BPU0lYQUNMIDogMCk7Cj4gLQltZW1jcHkoc2ItPnNfdXVp ZCwgcmF3X3N1cGVyLT51dWlkLCBzaXplb2YocmF3X3N1cGVyLT51dWlkKSk7Cj4gKwltZW1jcHko JnNiLT5zX3V1aWQsIHJhd19zdXBlci0+dXVpZCwgc2l6ZW9mKHJhd19zdXBlci0+dXVpZCkpOwo+ IAo+ICAJLyogaW5pdCBmMmZzLXNwZWNpZmljIHN1cGVyIGJsb2NrIGluZm8gKi8KPiAgCXNiaS0+ dmFsaWRfc3VwZXJfYmxvY2sgPSB2YWxpZF9zdXBlcl9ibG9jazsKPiBkaWZmIC0tZ2l0IGEvZnMv Z2ZzMi9vcHNfZnN0eXBlLmMgYi9mcy9nZnMyL29wc19mc3R5cGUuYwo+IGluZGV4IGVkNjc1NDhi Mjg2Yy4uYjkyMTM1YzIwMmMyIDEwMDY0NAo+IC0tLSBhL2ZzL2dmczIvb3BzX2ZzdHlwZS5jCj4g KysrIGIvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKPiBAQCAtMjAzLDcgKzIwMyw3IEBAIHN0YXRpYyB2 b2lkIGdmczJfc2JfaW4oc3RydWN0IGdmczJfc2JkICpzZHAsIGNvbnN0IHZvaWQgKmJ1ZikKPiAK PiAgCW1lbWNweShzYi0+c2JfbG9ja3Byb3RvLCBzdHItPnNiX2xvY2twcm90bywgR0ZTMl9MT0NL TkFNRV9MRU4pOwo+ICAJbWVtY3B5KHNiLT5zYl9sb2NrdGFibGUsIHN0ci0+c2JfbG9ja3RhYmxl LCBHRlMyX0xPQ0tOQU1FX0xFTik7Cj4gLQltZW1jcHkocy0+c191dWlkLCBzdHItPnNiX3V1aWQs IDE2KTsKPiArCW1lbWNweSgmcy0+c191dWlkLCBzdHItPnNiX3V1aWQsIDE2KTsKPiAgfQo+IAo+ ICAvKioKPiBkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9zeXMuYyBiL2ZzL2dmczIvc3lzLmMKPiBpbmRl eCA3YTUxNTM0NTYxMGMuLmU3N2JjNTJiNDY4ZiAxMDA2NDQKPiAtLS0gYS9mcy9nZnMyL3N5cy5j Cj4gKysrIGIvZnMvZ2ZzMi9zeXMuYwo+IEBAIC03MSwyNSArNzEsMTQgQEAgc3RhdGljIHNzaXpl X3QgZnNuYW1lX3Nob3coc3RydWN0IGdmczJfc2JkICpzZHAsIGNoYXIgKmJ1ZikKPiAgCXJldHVy biBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVzXG4iLCBzZHAtPnNkX2ZzbmFtZSk7Cj4gIH0K PiAKPiAtc3RhdGljIGludCBnZnMyX3V1aWRfdmFsaWQoY29uc3QgdTggKnV1aWQpCj4gLXsKPiAt CWludCBpOwo+IC0KPiAtCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7Cj4gLQkJaWYgKHV1aWRb aV0pCj4gLQkJCXJldHVybiAxOwo+IC0JfQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4gIHN0YXRp YyBzc2l6ZV90IHV1aWRfc2hvdyhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgY2hhciAqYnVmKQo+ICB7 Cj4gIAlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnMgPSBzZHAtPnNkX3ZmczsKPiAtCWNvbnN0IHU4ICp1 dWlkID0gcy0+c191dWlkOwo+ICsKPiAgCWJ1ZlswXSA9ICdcMCc7Cj4gLQlpZiAoIWdmczJfdXVp ZF92YWxpZCh1dWlkKSkKPiArCWlmICh1dWlkX2lzX251bGwoJnMtPnNfdXVpZCkpCj4gIAkJcmV0 dXJuIDA7Cj4gLQlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIlcFVCXG4iLCB1dWlk KTsKPiArCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVwVUJcbiIsICZzLT5zX3V1 aWQpOwo+ICB9Cj4gCj4gIHN0YXRpYyBzc2l6ZV90IGZyZWV6ZV9zaG93KHN0cnVjdCBnZnMyX3Ni ZCAqc2RwLCBjaGFyICpidWYpCj4gQEAgLTcxMiwxNCArNzAxLDEzIEBAIHN0YXRpYyBpbnQgZ2Zz Ml91ZXZlbnQoc3RydWN0IGtzZXQgKmtzZXQsIHN0cnVjdCBrb2JqZWN0ICprb2JqLAo+ICB7Cj4g IAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZ2ZzMl9z YmQsIHNkX2tvYmopOwo+ICAJc3RydWN0IHN1cGVyX2Jsb2NrICpzID0gc2RwLT5zZF92ZnM7Cj4g LQljb25zdCB1OCAqdXVpZCA9IHMtPnNfdXVpZDsKPiAKPiAgCWFkZF91ZXZlbnRfdmFyKGVudiwg IkxPQ0tUQUJMRT0lcyIsIHNkcC0+c2RfdGFibGVfbmFtZSk7Cj4gIAlhZGRfdWV2ZW50X3Zhcihl bnYsICJMT0NLUFJPVE89JXMiLCBzZHAtPnNkX3Byb3RvX25hbWUpOwo+ICAJaWYgKCF0ZXN0X2Jp dChTREZfTk9KT1VSTkFMSUQsICZzZHAtPnNkX2ZsYWdzKSkKPiAgCQlhZGRfdWV2ZW50X3Zhcihl bnYsICJKT1VSTkFMSUQ9JWQiLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfamlkKTsKPiAtCWlmIChn ZnMyX3V1aWRfdmFsaWQodXVpZCkpCj4gLQkJYWRkX3VldmVudF92YXIoZW52LCAiVVVJRD0lcFVC IiwgdXVpZCk7Cj4gKwlpZiAoIXV1aWRfaXNfbnVsbCgmcy0+c191dWlkKSkKPiArCQlhZGRfdWV2 ZW50X3ZhcihlbnYsICJVVUlEPSVwVUIiLCAmcy0+c191dWlkKTsKPiAgCXJldHVybiAwOwo+ICB9 Cj4gCj4gZGlmZiAtLWdpdCBhL2ZzL29jZnMyL3N1cGVyLmMgYi9mcy9vY2ZzMi9zdXBlci5jCj4g aW5kZXggY2ExNjQ2ZmJjYWVmLi44MzAwNWY0ODY0NTEgMTAwNjQ0Cj4gLS0tIGEvZnMvb2NmczIv c3VwZXIuYwo+ICsrKyBiL2ZzL29jZnMyL3N1cGVyLmMKPiBAQCAtMjA2Miw3ICsyMDYyLDcgQEAg c3RhdGljIGludCBvY2ZzMl9pbml0aWFsaXplX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2Is Cj4gIAljYml0cyA9IGxlMzJfdG9fY3B1KGRpLT5pZDIuaV9zdXBlci5zX2NsdXN0ZXJzaXplX2Jp dHMpOwo+ICAJYmJpdHMgPSBsZTMyX3RvX2NwdShkaS0+aWQyLmlfc3VwZXIuc19ibG9ja3NpemVf Yml0cyk7Cj4gIAlzYi0+c19tYXhieXRlcyA9IG9jZnMyX21heF9maWxlX29mZnNldChiYml0cywg Y2JpdHMpOwo+IC0JbWVtY3B5KHNiLT5zX3V1aWQsIGRpLT5pZDIuaV9zdXBlci5zX3V1aWQsCj4g KwltZW1jcHkoJnNiLT5zX3V1aWQsIGRpLT5pZDIuaV9zdXBlci5zX3V1aWQsCj4gIAkgICAgICAg c2l6ZW9mKGRpLT5pZDIuaV9zdXBlci5zX3V1aWQpKTsKPiAKPiAgCW9zYi0+b3NiX2R4X21hc2sg PSAoMSA8PCAoY2JpdHMgLSBiYml0cykpIC0gMTsKPiBkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZz L2NvcHlfdXAuYyBiL2ZzL292ZXJsYXlmcy9jb3B5X3VwLmMKPiBpbmRleCA5MDA4YWI5ZmJkMmUu LjViNzk1ODczZjdmYSAxMDA2NDQKPiAtLS0gYS9mcy9vdmVybGF5ZnMvY29weV91cC5jCj4gKysr IGIvZnMvb3ZlcmxheWZzL2NvcHlfdXAuYwo+IEBAIC0yODQsNyArMjg0LDYgQEAgc3RhdGljIGlu dCBvdmxfc2V0X29yaWdpbihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBkZW50cnkgKmxv d2VyLAo+ICAJCQkgIHN0cnVjdCBkZW50cnkgKnVwcGVyKQo+ICB7Cj4gIAlzdHJ1Y3Qgc3VwZXJf YmxvY2sgKnNiID0gbG93ZXItPmRfc2I7Cj4gLQl1dWlkX2JlICp1dWlkID0gKHV1aWRfYmUgKikg JnNiLT5zX3V1aWQ7Cj4gIAljb25zdCBzdHJ1Y3Qgb3ZsX2ZoICpmaCA9IE5VTEw7Cj4gIAlpbnQg ZXJyOwo+IAo+IEBAIC0yOTQsOCArMjkzLDggQEAgc3RhdGljIGludCBvdmxfc2V0X29yaWdpbihz dHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBkZW50cnkgKmxvd2VyLAo+ICAJICogdXAgYW5k IGEgcHVyZSB1cHBlciBpbm9kZS4KPiAgCSAqLwo+ICAJaWYgKHNiLT5zX2V4cG9ydF9vcCAmJiBz Yi0+c19leHBvcnRfb3AtPmZoX3RvX2RlbnRyeSAmJgo+IC0JICAgIHV1aWRfYmVfY21wKCp1dWlk LCBOVUxMX1VVSURfQkUpKSB7Cj4gLQkJZmggPSBvdmxfZW5jb2RlX2ZoKGxvd2VyLCB1dWlkKTsK PiArCSAgICAhdXVpZF9pc19udWxsKCZzYi0+c191dWlkKSkgewo+ICsJCWZoID0gb3ZsX2VuY29k ZV9maChsb3dlciwgJnNiLT5zX3V1aWQpOwo+ICAJCWlmIChJU19FUlIoZmgpKQo+ICAJCQlyZXR1 cm4gUFRSX0VSUihmaCk7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2ZzL292ZXJsYXlmcy9uYW1laS5j IGIvZnMvb3ZlcmxheWZzL25hbWVpLmMKPiBpbmRleCBiYWQwZjY2NWE2MzUuLjY3MDlmMjdjNjg3 NiAxMDA2NDQKPiAtLS0gYS9mcy9vdmVybGF5ZnMvbmFtZWkuYwo+ICsrKyBiL2ZzL292ZXJsYXlm cy9uYW1laS5jCj4gQEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMgc3RydWN0IGRlbnRyeSAqb3Zs X2dldF9vcmlnaW4oc3RydWN0IGRlbnRyeSAqZGVudHJ5LAo+ICAJICogTWFrZSBzdXJlIHRoYXQg dGhlIHN0b3JlZCB1dWlkIG1hdGNoZXMgdGhlIHV1aWQgb2YgdGhlIGxvd2VyCj4gIAkgKiBsYXll ciB3aGVyZSBmaWxlIGhhbmRsZSB3aWxsIGJlIGRlY29kZWQuCj4gIAkgKi8KPiAtCWlmICh1dWlk X2JlX2NtcChmaC0+dXVpZCwgKih1dWlkX2JlICopICZtbnQtPm1udF9zYi0+c191dWlkKSkKPiAr CWlmICghdXVpZF9lcXVhbCgmZmgtPnV1aWQsICZtbnQtPm1udF9zYi0+c191dWlkKSkKPiAgCQln b3RvIG91dDsKPiAKPiAgCW9yaWdpbiA9IGV4cG9ydGZzX2RlY29kZV9maChtbnQsIChzdHJ1Y3Qg ZmlkICopZmgtPmZpZCwKPiBkaWZmIC0tZ2l0IGEvZnMveGZzL3hmc19tb3VudC5jIGIvZnMveGZz L3hmc19tb3VudC5jCj4gaW5kZXggNjgyYjMzNmE3YTZhLi42YTE4YWU0MDc3MTMgMTAwNjQ0Cj4g LS0tIGEvZnMveGZzL3hmc19tb3VudC5jCj4gKysrIGIvZnMveGZzL3hmc19tb3VudC5jCj4gQEAg LTc0LDggKzc0LDcgQEAgeGZzX3V1aWRfbW91bnQoCj4gIAlpbnQJCQlob2xlLCBpOwo+IAo+ICAJ LyogUHVibGlzaCBVVUlEIGluIHN0cnVjdCBzdXBlcl9ibG9jayAqLwo+IC0JQlVJTERfQlVHX09O KHNpemVvZihtcC0+bV9zdXBlci0+c191dWlkKSAhPSBzaXplb2YodXVpZF90KSk7Cj4gLQltZW1j cHkoJm1wLT5tX3N1cGVyLT5zX3V1aWQsIHV1aWQsIHNpemVvZih1dWlkX3QpKTsKPiArCXV1aWRf Y29weSgmbXAtPm1fc3VwZXItPnNfdXVpZCwgdXVpZCk7Cj4gCj4gIAlpZiAobXAtPm1fZmxhZ3Mg JiBYRlNfTU9VTlRfTk9VVUlEKQo+ICAJCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2NsZWFuY2FjaGUuaCBiL2luY2x1ZGUvbGludXgvY2xlYW5jYWNoZS5oCj4gaW5kZXgg ZmNjZjdmNDQxMzlkLi5iYmIzNzEyZGQ4OTIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9j bGVhbmNhY2hlLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L2NsZWFuY2FjaGUuaAo+IEBAIC0yNyw3 ICsyNyw3IEBAIHN0cnVjdCBjbGVhbmNhY2hlX2ZpbGVrZXkgewo+IAo+ICBzdHJ1Y3QgY2xlYW5j YWNoZV9vcHMgewo+ICAJaW50ICgqaW5pdF9mcykoc2l6ZV90KTsKPiAtCWludCAoKmluaXRfc2hh cmVkX2ZzKShjaGFyICp1dWlkLCBzaXplX3QpOwo+ICsJaW50ICgqaW5pdF9zaGFyZWRfZnMpKHV1 aWRfdCAqdXVpZCwgc2l6ZV90KTsKPiAgCWludCAoKmdldF9wYWdlKShpbnQsIHN0cnVjdCBjbGVh bmNhY2hlX2ZpbGVrZXksCj4gIAkJCXBnb2ZmX3QsIHN0cnVjdCBwYWdlICopOwo+ICAJdm9pZCAo KnB1dF9wYWdlKShpbnQsIHN0cnVjdCBjbGVhbmNhY2hlX2ZpbGVrZXksCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgvZnMuaCBiL2luY2x1ZGUvbGludXgvZnMuaAo+IGluZGV4IDgwM2U1YTli MjY1NC4uM2U2OGNhYmI4NDU3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvZnMuaAo+ICsr KyBiL2luY2x1ZGUvbGludXgvZnMuaAo+IEBAIC0zMCw2ICszMCw3IEBACj4gICNpbmNsdWRlIDxs aW51eC9wZXJjcHUtcndzZW0uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgo+ICAj aW5jbHVkZSA8bGludXgvZGVsYXllZF9jYWxsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC91dWlkLmg+ Cj4gCj4gICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+Cj4gICNpbmNsdWRlIDx1YXBpL2xpbnV4 L2ZzLmg+Cj4gQEAgLTEzMjgsOCArMTMyOSw4IEBAIHN0cnVjdCBzdXBlcl9ibG9jayB7Cj4gCj4g IAlzdHJ1Y3Qgc2Jfd3JpdGVycwlzX3dyaXRlcnM7Cj4gCj4gLQljaGFyIHNfaWRbMzJdOwkJCQkv KiBJbmZvcm1hdGlvbmFsIG5hbWUgKi8KPiAtCXU4IHNfdXVpZFsxNl07CQkJCS8qIFVVSUQgKi8K PiArCWNoYXIJCQlzX2lkWzMyXTsJLyogSW5mb3JtYXRpb25hbCBuYW1lICovCj4gKwl1dWlkX3QJ CQlzX3V1aWQ7CQkvKiBVVUlEICovCj4gCj4gIAl2b2lkIAkJCSpzX2ZzX2luZm87CS8qIEZpbGVz eXN0ZW0gcHJpdmF0ZSBpbmZvICovCj4gIAl1bnNpZ25lZCBpbnQJCXNfbWF4X2xpbmtzOwo+IGRp ZmYgLS1naXQgYS9tbS9jbGVhbmNhY2hlLmMgYi9tbS9jbGVhbmNhY2hlLmMKPiBpbmRleCBiYTVk OGYzZTZkNjguLmY3YjlmZGM3OWQ5NyAxMDA2NDQKPiAtLS0gYS9tbS9jbGVhbmNhY2hlLmMKPiAr KysgYi9tbS9jbGVhbmNhY2hlLmMKPiBAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgX19jbGVhbmNh Y2hlX2luaXRfc2hhcmVkX2ZzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCj4gIAlpbnQgcG9vbF9p ZCA9IENMRUFOQ0FDSEVfTk9fQkFDS0VORF9TSEFSRUQ7Cj4gCj4gIAlpZiAoY2xlYW5jYWNoZV9v cHMpIHsKPiAtCQlwb29sX2lkID0gY2xlYW5jYWNoZV9vcHMtPmluaXRfc2hhcmVkX2ZzKHNiLT5z X3V1aWQsIFBBR0VfU0laRSk7Cj4gKwkJcG9vbF9pZCA9IGNsZWFuY2FjaGVfb3BzLT5pbml0X3No YXJlZF9mcygmc2ItPnNfdXVpZCwgUEFHRV9TSVpFKTsKPiAgCQlpZiAocG9vbF9pZCA8IDApCj4g IAkJCXBvb2xfaWQgPSBDTEVBTkNBQ0hFX05PX1BPT0w7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL3Nl Y3VyaXR5L2ludGVncml0eS9ldm0vZXZtX2NyeXB0by5jIGIvc2VjdXJpdHkvaW50ZWdyaXR5L2V2 bS9ldm1fY3J5cHRvLmMKPiBpbmRleCBkN2YyODJkNzVjYzEuLjFkMzJjZDIwMDA5YSAxMDA2NDQK PiAtLS0gYS9zZWN1cml0eS9pbnRlZ3JpdHkvZXZtL2V2bV9jcnlwdG8uYwo+ICsrKyBiL3NlY3Vy aXR5L2ludGVncml0eS9ldm0vZXZtX2NyeXB0by5jCj4gQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0 aWMgdm9pZCBobWFjX2FkZF9taXNjKHN0cnVjdCBzaGFzaF9kZXNjICpkZXNjLCBzdHJ1Y3QgaW5v ZGUgKmlub2RlLAo+ICAJaG1hY19taXNjLm1vZGUgPSBpbm9kZS0+aV9tb2RlOwo+ICAJY3J5cHRv X3NoYXNoX3VwZGF0ZShkZXNjLCAoY29uc3QgdTggKikmaG1hY19taXNjLCBzaXplb2YoaG1hY19t aXNjKSk7Cj4gIAlpZiAoZXZtX2htYWNfYXR0cnMgJiBFVk1fQVRUUl9GU1VVSUQpCj4gLQkJY3J5 cHRvX3NoYXNoX3VwZGF0ZShkZXNjLCBpbm9kZS0+aV9zYi0+c191dWlkLAo+ICsJCWNyeXB0b19z aGFzaF91cGRhdGUoZGVzYywgJmlub2RlLT5pX3NiLT5zX3V1aWQuYlswXSwKPiAgCQkJCSAgICBz aXplb2YoaW5vZGUtPmlfc2ItPnNfdXVpZCkpOwo+ICAJY3J5cHRvX3NoYXNoX2ZpbmFsKGRlc2Ms IGRpZ2VzdCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFf cG9saWN5LmMgYi9zZWN1cml0eS9pbnRlZ3JpdHkvaW1hL2ltYV9wb2xpY3kuYwo+IGluZGV4IGRh M2U3ZDUwZTBkNy4uNjU5ZGJjYzgzZDJmIDEwMDY0NAo+IC0tLSBhL3NlY3VyaXR5L2ludGVncml0 eS9pbWEvaW1hX3BvbGljeS5jCj4gKysrIGIvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfcG9s aWN5LmMKPiBAQCAtMjQ0LDcgKzI0NCw3IEBAIHN0YXRpYyBib29sIGltYV9tYXRjaF9ydWxlcyhz dHJ1Y3QgaW1hX3J1bGVfZW50cnkgKnJ1bGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4gIAkgICAg JiYgcnVsZS0+ZnNtYWdpYyAhPSBpbm9kZS0+aV9zYi0+c19tYWdpYykKPiAgCQlyZXR1cm4gZmFs c2U7Cj4gIAlpZiAoKHJ1bGUtPmZsYWdzICYgSU1BX0ZTVVVJRCkgJiYKPiAtCSAgICBtZW1jbXAo JnJ1bGUtPmZzdXVpZCwgaW5vZGUtPmlfc2ItPnNfdXVpZCwgc2l6ZW9mKHJ1bGUtPmZzdXVpZCkp KQo+ICsJICAgICF1dWlkX2VxdWFsKCZydWxlLT5mc3V1aWQsICZpbm9kZS0+aV9zYi0+c191dWlk KSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAlpZiAoKHJ1bGUtPmZsYWdzICYgSU1BX1VJRCkgJiYg IXJ1bGUtPnVpZF9vcChjcmVkLT51aWQsIHJ1bGUtPnVpZCkpCj4gIAkJcmV0dXJuIGZhbHNlOwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbnZk aW1tIG1haWxpbmcgbGlzdApMaW51eC1udmRpbW1AbGlzdHMuMDEub3JnCmh0dHBzOi8vbGlzdHMu MDEub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbnZkaW1tCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mimi Zohar Subject: Re: [PATCH 17/23] fs: switch ->s_uuid to uuid_t Date: Thu, 18 May 2017 19:17:07 -0400 Message-ID: <1495149427.3404.4.camel@linux.vnet.ibm.com> References: <20170518062705.25902-1-hch@lst.de> <20170518062705.25902-18-hch@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170518062705.25902-18-hch-jcswGhMUV9g@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-nvdimm-bounces-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org Sender: "Linux-nvdimm" To: Christoph Hellwig , Andy Shevchenko , Amir Goldstein , linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: linux-xfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-raid-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Howells , Shaohua Li , Steven Whitehouse List-Id: linux-raid.ids T24gVGh1LCAyMDE3LTA1LTE4IGF0IDA4OjI2ICswMjAwLCBDaHJpc3RvcGggSGVsbHdpZyB3cm90 ZToKPiBGb3Igc29tZSBmaWxlIHN5c3RlbXMgd2Ugc3RpbGwgbWVtY3B5IGludG8gaXQsIGJ1dCBp biB2YXJpb3VzIHBsYWNlcyB0aGlzCj4gYWxyZWFkeSBhbGxvd3MgdXMgdG8gdXNlIHRoZSBwcm9w ZXIgdXVpZCBoZWxwZXJzLiAgTW9yZSB0byBjb21lLi4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJp c3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KCkFja2VkLWJ5OiBNaW1pIFpvaGFyIDx6b2hhckBs aW51eC52bmV0LmlibS5jb20+wqAoQ2hhbmdlcyB0byBJTUEvRVZNKQoKPiAtLS0KPiAgZHJpdmVy cy94ZW4vdG1lbS5jICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KPiAgZnMvZXh0NC9zdXBl ci5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBmcy9mMmZzL3N1cGVyLmMgICAgICAg ICAgICAgICAgICAgICB8ICAyICstCj4gIGZzL2dmczIvb3BzX2ZzdHlwZS5jICAgICAgICAgICAg ICAgIHwgIDIgKy0KPiAgZnMvZ2ZzMi9zeXMuYyAgICAgICAgICAgICAgICAgICAgICAgfCAyMiAr KysrKy0tLS0tLS0tLS0tLS0tLS0tCj4gIGZzL29jZnMyL3N1cGVyLmMgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KPiAgZnMvb3ZlcmxheWZzL2NvcHlfdXAuYyAgICAgICAgICAgICAgfCAgNSAr Ky0tLQo+ICBmcy9vdmVybGF5ZnMvbmFtZWkuYyAgICAgICAgICAgICAgICB8ICAyICstCj4gIGZz L3hmcy94ZnNfbW91bnQuYyAgICAgICAgICAgICAgICAgIHwgIDMgKy0tCj4gIGluY2x1ZGUvbGlu dXgvY2xlYW5jYWNoZS5oICAgICAgICAgIHwgIDIgKy0KPiAgaW5jbHVkZS9saW51eC9mcy5oICAg ICAgICAgICAgICAgICAgfCAgNSArKystLQo+ICBtbS9jbGVhbmNhY2hlLmMgICAgICAgICAgICAg ICAgICAgICB8ICAyICstCj4gIHNlY3VyaXR5L2ludGVncml0eS9ldm0vZXZtX2NyeXB0by5jIHwg IDIgKy0KPiAgc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfcG9saWN5LmMgfCAgMiArLQo+ICAx NCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vdG1lbS5jIGIvZHJpdmVycy94ZW4vdG1lbS5jCj4gaW5k ZXggNGFjMmNhOGE3NjU2Li5iZjEzZDFlYzUxZjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy94ZW4v dG1lbS5jCj4gKysrIGIvZHJpdmVycy94ZW4vdG1lbS5jCj4gQEAgLTIzMywxMiArMjMzLDEyIEBA IHN0YXRpYyBpbnQgdG1lbV9jbGVhbmNhY2hlX2luaXRfZnMoc2l6ZV90IHBhZ2VzaXplKQo+ICAJ cmV0dXJuIHhlbl90bWVtX25ld19wb29sKHV1aWRfcHJpdmF0ZSwgMCwgcGFnZXNpemUpOwo+ICB9 Cj4gCj4gLXN0YXRpYyBpbnQgdG1lbV9jbGVhbmNhY2hlX2luaXRfc2hhcmVkX2ZzKGNoYXIgKnV1 aWQsIHNpemVfdCBwYWdlc2l6ZSkKPiArc3RhdGljIGludCB0bWVtX2NsZWFuY2FjaGVfaW5pdF9z aGFyZWRfZnModXVpZF90ICp1dWlkLCBzaXplX3QgcGFnZXNpemUpCj4gIHsKPiAgCXN0cnVjdCB0 bWVtX3Bvb2xfdXVpZCBzaGFyZWRfdXVpZDsKPiAKPiAtCXNoYXJlZF91dWlkLnV1aWRfbG8gPSAq KHU2NCAqKXV1aWQ7Cj4gLQlzaGFyZWRfdXVpZC51dWlkX2hpID0gKih1NjQgKikoJnV1aWRbOF0p Owo+ICsJc2hhcmVkX3V1aWQudXVpZF9sbyA9ICoodTY0ICopJnV1aWQtPmJbMF07Cj4gKwlzaGFy ZWRfdXVpZC51dWlkX2hpID0gKih1NjQgKikmdXVpZC0+Yls4XTsKPiAgCXJldHVybiB4ZW5fdG1l bV9uZXdfcG9vbChzaGFyZWRfdXVpZCwgVE1FTV9QT09MX1NIQVJFRCwgcGFnZXNpemUpOwo+ICB9 Cj4gCj4gZGlmZiAtLWdpdCBhL2ZzL2V4dDQvc3VwZXIuYyBiL2ZzL2V4dDQvc3VwZXIuYwo+IGlu ZGV4IDBiMTc3ZGE5ZWE4Mi4uNmUzYjQxODZhMjJmIDEwMDY0NAo+IC0tLSBhL2ZzL2V4dDQvc3Vw ZXIuYwo+ICsrKyBiL2ZzL2V4dDQvc3VwZXIuYwo+IEBAIC0zOTUyLDcgKzM5NTIsNyBAQCBzdGF0 aWMgaW50IGV4dDRfZmlsbF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRh LCBpbnQgc2lsZW50KQo+ICAJCXNiLT5zX3Fjb3AgPSAmZXh0NF9xY3RsX29wZXJhdGlvbnM7Cj4g IAlzYi0+c19xdW90YV90eXBlcyA9IFFUWVBFX01BU0tfVVNSIHwgUVRZUEVfTUFTS19HUlAgfCBR VFlQRV9NQVNLX1BSSjsKPiAgI2VuZGlmCj4gLQltZW1jcHkoc2ItPnNfdXVpZCwgZXMtPnNfdXVp ZCwgc2l6ZW9mKGVzLT5zX3V1aWQpKTsKPiArCW1lbWNweSgmc2ItPnNfdXVpZCwgZXMtPnNfdXVp ZCwgc2l6ZW9mKGVzLT5zX3V1aWQpKTsKPiAKPiAgCUlOSVRfTElTVF9IRUFEKCZzYmktPnNfb3Jw aGFuKTsgLyogdW5saW5rZWQgYnV0IG9wZW4gZmlsZXMgKi8KPiAgCW11dGV4X2luaXQoJnNiaS0+ c19vcnBoYW5fbG9jayk7Cj4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMvc3VwZXIuYyBiL2ZzL2YyZnMv c3VwZXIuYwo+IGluZGV4IDgzMzU1ZWM0YTkyYy4uMGI4OWIwYjdiOWY3IDEwMDY0NAo+IC0tLSBh L2ZzL2YyZnMvc3VwZXIuYwo+ICsrKyBiL2ZzL2YyZnMvc3VwZXIuYwo+IEBAIC0xOTM3LDcgKzE5 MzcsNyBAQCBzdGF0aWMgaW50IGYyZnNfZmlsbF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNi LCB2b2lkICpkYXRhLCBpbnQgc2lsZW50KQo+ICAJc2ItPnNfdGltZV9ncmFuID0gMTsKPiAgCXNi LT5zX2ZsYWdzID0gKHNiLT5zX2ZsYWdzICYgfk1TX1BPU0lYQUNMKSB8Cj4gIAkJKHRlc3Rfb3B0 KHNiaSwgUE9TSVhfQUNMKSA/IE1TX1BPU0lYQUNMIDogMCk7Cj4gLQltZW1jcHkoc2ItPnNfdXVp ZCwgcmF3X3N1cGVyLT51dWlkLCBzaXplb2YocmF3X3N1cGVyLT51dWlkKSk7Cj4gKwltZW1jcHko JnNiLT5zX3V1aWQsIHJhd19zdXBlci0+dXVpZCwgc2l6ZW9mKHJhd19zdXBlci0+dXVpZCkpOwo+ IAo+ICAJLyogaW5pdCBmMmZzLXNwZWNpZmljIHN1cGVyIGJsb2NrIGluZm8gKi8KPiAgCXNiaS0+ dmFsaWRfc3VwZXJfYmxvY2sgPSB2YWxpZF9zdXBlcl9ibG9jazsKPiBkaWZmIC0tZ2l0IGEvZnMv Z2ZzMi9vcHNfZnN0eXBlLmMgYi9mcy9nZnMyL29wc19mc3R5cGUuYwo+IGluZGV4IGVkNjc1NDhi Mjg2Yy4uYjkyMTM1YzIwMmMyIDEwMDY0NAo+IC0tLSBhL2ZzL2dmczIvb3BzX2ZzdHlwZS5jCj4g KysrIGIvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMKPiBAQCAtMjAzLDcgKzIwMyw3IEBAIHN0YXRpYyB2 b2lkIGdmczJfc2JfaW4oc3RydWN0IGdmczJfc2JkICpzZHAsIGNvbnN0IHZvaWQgKmJ1ZikKPiAK PiAgCW1lbWNweShzYi0+c2JfbG9ja3Byb3RvLCBzdHItPnNiX2xvY2twcm90bywgR0ZTMl9MT0NL TkFNRV9MRU4pOwo+ICAJbWVtY3B5KHNiLT5zYl9sb2NrdGFibGUsIHN0ci0+c2JfbG9ja3RhYmxl LCBHRlMyX0xPQ0tOQU1FX0xFTik7Cj4gLQltZW1jcHkocy0+c191dWlkLCBzdHItPnNiX3V1aWQs IDE2KTsKPiArCW1lbWNweSgmcy0+c191dWlkLCBzdHItPnNiX3V1aWQsIDE2KTsKPiAgfQo+IAo+ ICAvKioKPiBkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9zeXMuYyBiL2ZzL2dmczIvc3lzLmMKPiBpbmRl eCA3YTUxNTM0NTYxMGMuLmU3N2JjNTJiNDY4ZiAxMDA2NDQKPiAtLS0gYS9mcy9nZnMyL3N5cy5j Cj4gKysrIGIvZnMvZ2ZzMi9zeXMuYwo+IEBAIC03MSwyNSArNzEsMTQgQEAgc3RhdGljIHNzaXpl X3QgZnNuYW1lX3Nob3coc3RydWN0IGdmczJfc2JkICpzZHAsIGNoYXIgKmJ1ZikKPiAgCXJldHVy biBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVzXG4iLCBzZHAtPnNkX2ZzbmFtZSk7Cj4gIH0K PiAKPiAtc3RhdGljIGludCBnZnMyX3V1aWRfdmFsaWQoY29uc3QgdTggKnV1aWQpCj4gLXsKPiAt CWludCBpOwo+IC0KPiAtCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7Cj4gLQkJaWYgKHV1aWRb aV0pCj4gLQkJCXJldHVybiAxOwo+IC0JfQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4gIHN0YXRp YyBzc2l6ZV90IHV1aWRfc2hvdyhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgY2hhciAqYnVmKQo+ICB7 Cj4gIAlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnMgPSBzZHAtPnNkX3ZmczsKPiAtCWNvbnN0IHU4ICp1 dWlkID0gcy0+c191dWlkOwo+ICsKPiAgCWJ1ZlswXSA9ICdcMCc7Cj4gLQlpZiAoIWdmczJfdXVp ZF92YWxpZCh1dWlkKSkKPiArCWlmICh1dWlkX2lzX251bGwoJnMtPnNfdXVpZCkpCj4gIAkJcmV0 dXJuIDA7Cj4gLQlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIlcFVCXG4iLCB1dWlk KTsKPiArCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiVwVUJcbiIsICZzLT5zX3V1 aWQpOwo+ICB9Cj4gCj4gIHN0YXRpYyBzc2l6ZV90IGZyZWV6ZV9zaG93KHN0cnVjdCBnZnMyX3Ni ZCAqc2RwLCBjaGFyICpidWYpCj4gQEAgLTcxMiwxNCArNzAxLDEzIEBAIHN0YXRpYyBpbnQgZ2Zz Ml91ZXZlbnQoc3RydWN0IGtzZXQgKmtzZXQsIHN0cnVjdCBrb2JqZWN0ICprb2JqLAo+ICB7Cj4g IAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZ2ZzMl9z YmQsIHNkX2tvYmopOwo+ICAJc3RydWN0IHN1cGVyX2Jsb2NrICpzID0gc2RwLT5zZF92ZnM7Cj4g LQljb25zdCB1OCAqdXVpZCA9IHMtPnNfdXVpZDsKPiAKPiAgCWFkZF91ZXZlbnRfdmFyKGVudiwg IkxPQ0tUQUJMRT0lcyIsIHNkcC0+c2RfdGFibGVfbmFtZSk7Cj4gIAlhZGRfdWV2ZW50X3Zhcihl bnYsICJMT0NLUFJPVE89JXMiLCBzZHAtPnNkX3Byb3RvX25hbWUpOwo+ICAJaWYgKCF0ZXN0X2Jp dChTREZfTk9KT1VSTkFMSUQsICZzZHAtPnNkX2ZsYWdzKSkKPiAgCQlhZGRfdWV2ZW50X3Zhcihl bnYsICJKT1VSTkFMSUQ9JWQiLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfamlkKTsKPiAtCWlmIChn ZnMyX3V1aWRfdmFsaWQodXVpZCkpCj4gLQkJYWRkX3VldmVudF92YXIoZW52LCAiVVVJRD0lcFVC IiwgdXVpZCk7Cj4gKwlpZiAoIXV1aWRfaXNfbnVsbCgmcy0+c191dWlkKSkKPiArCQlhZGRfdWV2 ZW50X3ZhcihlbnYsICJVVUlEPSVwVUIiLCAmcy0+c191dWlkKTsKPiAgCXJldHVybiAwOwo+ICB9 Cj4gCj4gZGlmZiAtLWdpdCBhL2ZzL29jZnMyL3N1cGVyLmMgYi9mcy9vY2ZzMi9zdXBlci5jCj4g aW5kZXggY2ExNjQ2ZmJjYWVmLi44MzAwNWY0ODY0NTEgMTAwNjQ0Cj4gLS0tIGEvZnMvb2NmczIv c3VwZXIuYwo+ICsrKyBiL2ZzL29jZnMyL3N1cGVyLmMKPiBAQCAtMjA2Miw3ICsyMDYyLDcgQEAg c3RhdGljIGludCBvY2ZzMl9pbml0aWFsaXplX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2Is Cj4gIAljYml0cyA9IGxlMzJfdG9fY3B1KGRpLT5pZDIuaV9zdXBlci5zX2NsdXN0ZXJzaXplX2Jp dHMpOwo+ICAJYmJpdHMgPSBsZTMyX3RvX2NwdShkaS0+aWQyLmlfc3VwZXIuc19ibG9ja3NpemVf Yml0cyk7Cj4gIAlzYi0+c19tYXhieXRlcyA9IG9jZnMyX21heF9maWxlX29mZnNldChiYml0cywg Y2JpdHMpOwo+IC0JbWVtY3B5KHNiLT5zX3V1aWQsIGRpLT5pZDIuaV9zdXBlci5zX3V1aWQsCj4g KwltZW1jcHkoJnNiLT5zX3V1aWQsIGRpLT5pZDIuaV9zdXBlci5zX3V1aWQsCj4gIAkgICAgICAg c2l6ZW9mKGRpLT5pZDIuaV9zdXBlci5zX3V1aWQpKTsKPiAKPiAgCW9zYi0+b3NiX2R4X21hc2sg PSAoMSA8PCAoY2JpdHMgLSBiYml0cykpIC0gMTsKPiBkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZz L2NvcHlfdXAuYyBiL2ZzL292ZXJsYXlmcy9jb3B5X3VwLmMKPiBpbmRleCA5MDA4YWI5ZmJkMmUu LjViNzk1ODczZjdmYSAxMDA2NDQKPiAtLS0gYS9mcy9vdmVybGF5ZnMvY29weV91cC5jCj4gKysr IGIvZnMvb3ZlcmxheWZzL2NvcHlfdXAuYwo+IEBAIC0yODQsNyArMjg0LDYgQEAgc3RhdGljIGlu dCBvdmxfc2V0X29yaWdpbihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBkZW50cnkgKmxv d2VyLAo+ICAJCQkgIHN0cnVjdCBkZW50cnkgKnVwcGVyKQo+ICB7Cj4gIAlzdHJ1Y3Qgc3VwZXJf YmxvY2sgKnNiID0gbG93ZXItPmRfc2I7Cj4gLQl1dWlkX2JlICp1dWlkID0gKHV1aWRfYmUgKikg JnNiLT5zX3V1aWQ7Cj4gIAljb25zdCBzdHJ1Y3Qgb3ZsX2ZoICpmaCA9IE5VTEw7Cj4gIAlpbnQg ZXJyOwo+IAo+IEBAIC0yOTQsOCArMjkzLDggQEAgc3RhdGljIGludCBvdmxfc2V0X29yaWdpbihz dHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBkZW50cnkgKmxvd2VyLAo+ICAJICogdXAgYW5k IGEgcHVyZSB1cHBlciBpbm9kZS4KPiAgCSAqLwo+ICAJaWYgKHNiLT5zX2V4cG9ydF9vcCAmJiBz Yi0+c19leHBvcnRfb3AtPmZoX3RvX2RlbnRyeSAmJgo+IC0JICAgIHV1aWRfYmVfY21wKCp1dWlk LCBOVUxMX1VVSURfQkUpKSB7Cj4gLQkJZmggPSBvdmxfZW5jb2RlX2ZoKGxvd2VyLCB1dWlkKTsK PiArCSAgICAhdXVpZF9pc19udWxsKCZzYi0+c191dWlkKSkgewo+ICsJCWZoID0gb3ZsX2VuY29k ZV9maChsb3dlciwgJnNiLT5zX3V1aWQpOwo+ICAJCWlmIChJU19FUlIoZmgpKQo+ICAJCQlyZXR1 cm4gUFRSX0VSUihmaCk7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2ZzL292ZXJsYXlmcy9uYW1laS5j IGIvZnMvb3ZlcmxheWZzL25hbWVpLmMKPiBpbmRleCBiYWQwZjY2NWE2MzUuLjY3MDlmMjdjNjg3 NiAxMDA2NDQKPiAtLS0gYS9mcy9vdmVybGF5ZnMvbmFtZWkuYwo+ICsrKyBiL2ZzL292ZXJsYXlm cy9uYW1laS5jCj4gQEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMgc3RydWN0IGRlbnRyeSAqb3Zs X2dldF9vcmlnaW4oc3RydWN0IGRlbnRyeSAqZGVudHJ5LAo+ICAJICogTWFrZSBzdXJlIHRoYXQg dGhlIHN0b3JlZCB1dWlkIG1hdGNoZXMgdGhlIHV1aWQgb2YgdGhlIGxvd2VyCj4gIAkgKiBsYXll ciB3aGVyZSBmaWxlIGhhbmRsZSB3aWxsIGJlIGRlY29kZWQuCj4gIAkgKi8KPiAtCWlmICh1dWlk X2JlX2NtcChmaC0+dXVpZCwgKih1dWlkX2JlICopICZtbnQtPm1udF9zYi0+c191dWlkKSkKPiAr CWlmICghdXVpZF9lcXVhbCgmZmgtPnV1aWQsICZtbnQtPm1udF9zYi0+c191dWlkKSkKPiAgCQln b3RvIG91dDsKPiAKPiAgCW9yaWdpbiA9IGV4cG9ydGZzX2RlY29kZV9maChtbnQsIChzdHJ1Y3Qg ZmlkICopZmgtPmZpZCwKPiBkaWZmIC0tZ2l0IGEvZnMveGZzL3hmc19tb3VudC5jIGIvZnMveGZz L3hmc19tb3VudC5jCj4gaW5kZXggNjgyYjMzNmE3YTZhLi42YTE4YWU0MDc3MTMgMTAwNjQ0Cj4g LS0tIGEvZnMveGZzL3hmc19tb3VudC5jCj4gKysrIGIvZnMveGZzL3hmc19tb3VudC5jCj4gQEAg LTc0LDggKzc0LDcgQEAgeGZzX3V1aWRfbW91bnQoCj4gIAlpbnQJCQlob2xlLCBpOwo+IAo+ICAJ LyogUHVibGlzaCBVVUlEIGluIHN0cnVjdCBzdXBlcl9ibG9jayAqLwo+IC0JQlVJTERfQlVHX09O KHNpemVvZihtcC0+bV9zdXBlci0+c191dWlkKSAhPSBzaXplb2YodXVpZF90KSk7Cj4gLQltZW1j cHkoJm1wLT5tX3N1cGVyLT5zX3V1aWQsIHV1aWQsIHNpemVvZih1dWlkX3QpKTsKPiArCXV1aWRf Y29weSgmbXAtPm1fc3VwZXItPnNfdXVpZCwgdXVpZCk7Cj4gCj4gIAlpZiAobXAtPm1fZmxhZ3Mg JiBYRlNfTU9VTlRfTk9VVUlEKQo+ICAJCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2NsZWFuY2FjaGUuaCBiL2luY2x1ZGUvbGludXgvY2xlYW5jYWNoZS5oCj4gaW5kZXgg ZmNjZjdmNDQxMzlkLi5iYmIzNzEyZGQ4OTIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9j bGVhbmNhY2hlLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L2NsZWFuY2FjaGUuaAo+IEBAIC0yNyw3 ICsyNyw3IEBAIHN0cnVjdCBjbGVhbmNhY2hlX2ZpbGVrZXkgewo+IAo+ICBzdHJ1Y3QgY2xlYW5j YWNoZV9vcHMgewo+ICAJaW50ICgqaW5pdF9mcykoc2l6ZV90KTsKPiAtCWludCAoKmluaXRfc2hh cmVkX2ZzKShjaGFyICp1dWlkLCBzaXplX3QpOwo+ICsJaW50ICgqaW5pdF9zaGFyZWRfZnMpKHV1 aWRfdCAqdXVpZCwgc2l6ZV90KTsKPiAgCWludCAoKmdldF9wYWdlKShpbnQsIHN0cnVjdCBjbGVh bmNhY2hlX2ZpbGVrZXksCj4gIAkJCXBnb2ZmX3QsIHN0cnVjdCBwYWdlICopOwo+ICAJdm9pZCAo KnB1dF9wYWdlKShpbnQsIHN0cnVjdCBjbGVhbmNhY2hlX2ZpbGVrZXksCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgvZnMuaCBiL2luY2x1ZGUvbGludXgvZnMuaAo+IGluZGV4IDgwM2U1YTli MjY1NC4uM2U2OGNhYmI4NDU3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvZnMuaAo+ICsr KyBiL2luY2x1ZGUvbGludXgvZnMuaAo+IEBAIC0zMCw2ICszMCw3IEBACj4gICNpbmNsdWRlIDxs aW51eC9wZXJjcHUtcndzZW0uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgo+ICAj aW5jbHVkZSA8bGludXgvZGVsYXllZF9jYWxsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC91dWlkLmg+ Cj4gCj4gICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+Cj4gICNpbmNsdWRlIDx1YXBpL2xpbnV4 L2ZzLmg+Cj4gQEAgLTEzMjgsOCArMTMyOSw4IEBAIHN0cnVjdCBzdXBlcl9ibG9jayB7Cj4gCj4g IAlzdHJ1Y3Qgc2Jfd3JpdGVycwlzX3dyaXRlcnM7Cj4gCj4gLQljaGFyIHNfaWRbMzJdOwkJCQkv KiBJbmZvcm1hdGlvbmFsIG5hbWUgKi8KPiAtCXU4IHNfdXVpZFsxNl07CQkJCS8qIFVVSUQgKi8K PiArCWNoYXIJCQlzX2lkWzMyXTsJLyogSW5mb3JtYXRpb25hbCBuYW1lICovCj4gKwl1dWlkX3QJ CQlzX3V1aWQ7CQkvKiBVVUlEICovCj4gCj4gIAl2b2lkIAkJCSpzX2ZzX2luZm87CS8qIEZpbGVz eXN0ZW0gcHJpdmF0ZSBpbmZvICovCj4gIAl1bnNpZ25lZCBpbnQJCXNfbWF4X2xpbmtzOwo+IGRp ZmYgLS1naXQgYS9tbS9jbGVhbmNhY2hlLmMgYi9tbS9jbGVhbmNhY2hlLmMKPiBpbmRleCBiYTVk OGYzZTZkNjguLmY3YjlmZGM3OWQ5NyAxMDA2NDQKPiAtLS0gYS9tbS9jbGVhbmNhY2hlLmMKPiAr KysgYi9tbS9jbGVhbmNhY2hlLmMKPiBAQCAtMTMwLDcgKzEzMCw3IEBAIHZvaWQgX19jbGVhbmNh Y2hlX2luaXRfc2hhcmVkX2ZzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCj4gIAlpbnQgcG9vbF9p ZCA9IENMRUFOQ0FDSEVfTk9fQkFDS0VORF9TSEFSRUQ7Cj4gCj4gIAlpZiAoY2xlYW5jYWNoZV9v cHMpIHsKPiAtCQlwb29sX2lkID0gY2xlYW5jYWNoZV9vcHMtPmluaXRfc2hhcmVkX2ZzKHNiLT5z X3V1aWQsIFBBR0VfU0laRSk7Cj4gKwkJcG9vbF9pZCA9IGNsZWFuY2FjaGVfb3BzLT5pbml0X3No YXJlZF9mcygmc2ItPnNfdXVpZCwgUEFHRV9TSVpFKTsKPiAgCQlpZiAocG9vbF9pZCA8IDApCj4g IAkJCXBvb2xfaWQgPSBDTEVBTkNBQ0hFX05PX1BPT0w7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL3Nl Y3VyaXR5L2ludGVncml0eS9ldm0vZXZtX2NyeXB0by5jIGIvc2VjdXJpdHkvaW50ZWdyaXR5L2V2 bS9ldm1fY3J5cHRvLmMKPiBpbmRleCBkN2YyODJkNzVjYzEuLjFkMzJjZDIwMDA5YSAxMDA2NDQK PiAtLS0gYS9zZWN1cml0eS9pbnRlZ3JpdHkvZXZtL2V2bV9jcnlwdG8uYwo+ICsrKyBiL3NlY3Vy aXR5L2ludGVncml0eS9ldm0vZXZtX2NyeXB0by5jCj4gQEAgLTE2NCw3ICsxNjQsNyBAQCBzdGF0 aWMgdm9pZCBobWFjX2FkZF9taXNjKHN0cnVjdCBzaGFzaF9kZXNjICpkZXNjLCBzdHJ1Y3QgaW5v ZGUgKmlub2RlLAo+ICAJaG1hY19taXNjLm1vZGUgPSBpbm9kZS0+aV9tb2RlOwo+ICAJY3J5cHRv X3NoYXNoX3VwZGF0ZShkZXNjLCAoY29uc3QgdTggKikmaG1hY19taXNjLCBzaXplb2YoaG1hY19t aXNjKSk7Cj4gIAlpZiAoZXZtX2htYWNfYXR0cnMgJiBFVk1fQVRUUl9GU1VVSUQpCj4gLQkJY3J5 cHRvX3NoYXNoX3VwZGF0ZShkZXNjLCBpbm9kZS0+aV9zYi0+c191dWlkLAo+ICsJCWNyeXB0b19z aGFzaF91cGRhdGUoZGVzYywgJmlub2RlLT5pX3NiLT5zX3V1aWQuYlswXSwKPiAgCQkJCSAgICBz aXplb2YoaW5vZGUtPmlfc2ItPnNfdXVpZCkpOwo+ICAJY3J5cHRvX3NoYXNoX2ZpbmFsKGRlc2Ms IGRpZ2VzdCk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFf cG9saWN5LmMgYi9zZWN1cml0eS9pbnRlZ3JpdHkvaW1hL2ltYV9wb2xpY3kuYwo+IGluZGV4IGRh M2U3ZDUwZTBkNy4uNjU5ZGJjYzgzZDJmIDEwMDY0NAo+IC0tLSBhL3NlY3VyaXR5L2ludGVncml0 eS9pbWEvaW1hX3BvbGljeS5jCj4gKysrIGIvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfcG9s aWN5LmMKPiBAQCAtMjQ0LDcgKzI0NCw3IEBAIHN0YXRpYyBib29sIGltYV9tYXRjaF9ydWxlcyhz dHJ1Y3QgaW1hX3J1bGVfZW50cnkgKnJ1bGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4gIAkgICAg JiYgcnVsZS0+ZnNtYWdpYyAhPSBpbm9kZS0+aV9zYi0+c19tYWdpYykKPiAgCQlyZXR1cm4gZmFs c2U7Cj4gIAlpZiAoKHJ1bGUtPmZsYWdzICYgSU1BX0ZTVVVJRCkgJiYKPiAtCSAgICBtZW1jbXAo JnJ1bGUtPmZzdXVpZCwgaW5vZGUtPmlfc2ItPnNfdXVpZCwgc2l6ZW9mKHJ1bGUtPmZzdXVpZCkp KQo+ICsJICAgICF1dWlkX2VxdWFsKCZydWxlLT5mc3V1aWQsICZpbm9kZS0+aV9zYi0+c191dWlk KSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAlpZiAoKHJ1bGUtPmZsYWdzICYgSU1BX1VJRCkgJiYg IXJ1bGUtPnVpZF9vcChjcmVkLT51aWQsIHJ1bGUtPnVpZCkpCj4gIAkJcmV0dXJuIGZhbHNlOwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbnZk aW1tIG1haWxpbmcgbGlzdApMaW51eC1udmRpbW1AbGlzdHMuMDEub3JnCmh0dHBzOi8vbGlzdHMu MDEub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbnZkaW1tCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:38063 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751737AbdERXSQ (ORCPT ); Thu, 18 May 2017 19:18:16 -0400 Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.20/8.16.0.20) with SMTP id v4IN8rd4054756 for ; Thu, 18 May 2017 19:18:15 -0400 Received: from e23smtp03.au.ibm.com (e23smtp03.au.ibm.com [202.81.31.145]) by mx0a-001b2d01.pphosted.com with ESMTP id 2ahn0r88gg-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Thu, 18 May 2017 19:18:15 -0400 Received: from localhost by e23smtp03.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 19 May 2017 09:18:12 +1000 Subject: Re: [PATCH 17/23] fs: switch ->s_uuid to uuid_t From: Mimi Zohar Date: Thu, 18 May 2017 19:17:07 -0400 In-Reply-To: <20170518062705.25902-18-hch@lst.de> References: <20170518062705.25902-1-hch@lst.de> <20170518062705.25902-18-hch@lst.de> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Message-Id: <1495149427.3404.4.camel@linux.vnet.ibm.com> Sender: linux-xfs-owner@vger.kernel.org List-ID: List-Id: xfs To: Christoph Hellwig , Andy Shevchenko , Amir Goldstein , linux-fsdevel@vger.kernel.org Cc: Shaohua Li , Dan Williams , David Howells , Steven Whitehouse , linux-xfs@vger.kernel.org, linux-raid@vger.kernel.org, linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org On Thu, 2017-05-18 at 08:26 +0200, Christoph Hellwig wrote: > For some file systems we still memcpy into it, but in various places this > already allows us to use the proper uuid helpers. More to come.. > > Signed-off-by: Christoph Hellwig Acked-by: Mimi Zohar  (Changes to IMA/EVM) > --- > drivers/xen/tmem.c | 6 +++--- > fs/ext4/super.c | 2 +- > fs/f2fs/super.c | 2 +- > fs/gfs2/ops_fstype.c | 2 +- > fs/gfs2/sys.c | 22 +++++----------------- > fs/ocfs2/super.c | 2 +- > fs/overlayfs/copy_up.c | 5 ++--- > fs/overlayfs/namei.c | 2 +- > fs/xfs/xfs_mount.c | 3 +-- > include/linux/cleancache.h | 2 +- > include/linux/fs.h | 5 +++-- > mm/cleancache.c | 2 +- > security/integrity/evm/evm_crypto.c | 2 +- > security/integrity/ima/ima_policy.c | 2 +- > 14 files changed, 23 insertions(+), 36 deletions(-) > > diff --git a/drivers/xen/tmem.c b/drivers/xen/tmem.c > index 4ac2ca8a7656..bf13d1ec51f3 100644 > --- a/drivers/xen/tmem.c > +++ b/drivers/xen/tmem.c > @@ -233,12 +233,12 @@ static int tmem_cleancache_init_fs(size_t pagesize) > return xen_tmem_new_pool(uuid_private, 0, pagesize); > } > > -static int tmem_cleancache_init_shared_fs(char *uuid, size_t pagesize) > +static int tmem_cleancache_init_shared_fs(uuid_t *uuid, size_t pagesize) > { > struct tmem_pool_uuid shared_uuid; > > - shared_uuid.uuid_lo = *(u64 *)uuid; > - shared_uuid.uuid_hi = *(u64 *)(&uuid[8]); > + shared_uuid.uuid_lo = *(u64 *)&uuid->b[0]; > + shared_uuid.uuid_hi = *(u64 *)&uuid->b[8]; > return xen_tmem_new_pool(shared_uuid, TMEM_POOL_SHARED, pagesize); > } > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index 0b177da9ea82..6e3b4186a22f 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -3952,7 +3952,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) > sb->s_qcop = &ext4_qctl_operations; > sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | QTYPE_MASK_PRJ; > #endif > - memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); > + memcpy(&sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); > > INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ > mutex_init(&sbi->s_orphan_lock); > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c > index 83355ec4a92c..0b89b0b7b9f7 100644 > --- a/fs/f2fs/super.c > +++ b/fs/f2fs/super.c > @@ -1937,7 +1937,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) > sb->s_time_gran = 1; > sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | > (test_opt(sbi, POSIX_ACL) ? MS_POSIXACL : 0); > - memcpy(sb->s_uuid, raw_super->uuid, sizeof(raw_super->uuid)); > + memcpy(&sb->s_uuid, raw_super->uuid, sizeof(raw_super->uuid)); > > /* init f2fs-specific super block info */ > sbi->valid_super_block = valid_super_block; > diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c > index ed67548b286c..b92135c202c2 100644 > --- a/fs/gfs2/ops_fstype.c > +++ b/fs/gfs2/ops_fstype.c > @@ -203,7 +203,7 @@ static void gfs2_sb_in(struct gfs2_sbd *sdp, const void *buf) > > memcpy(sb->sb_lockproto, str->sb_lockproto, GFS2_LOCKNAME_LEN); > memcpy(sb->sb_locktable, str->sb_locktable, GFS2_LOCKNAME_LEN); > - memcpy(s->s_uuid, str->sb_uuid, 16); > + memcpy(&s->s_uuid, str->sb_uuid, 16); > } > > /** > diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c > index 7a515345610c..e77bc52b468f 100644 > --- a/fs/gfs2/sys.c > +++ b/fs/gfs2/sys.c > @@ -71,25 +71,14 @@ static ssize_t fsname_show(struct gfs2_sbd *sdp, char *buf) > return snprintf(buf, PAGE_SIZE, "%s\n", sdp->sd_fsname); > } > > -static int gfs2_uuid_valid(const u8 *uuid) > -{ > - int i; > - > - for (i = 0; i < 16; i++) { > - if (uuid[i]) > - return 1; > - } > - return 0; > -} > - > static ssize_t uuid_show(struct gfs2_sbd *sdp, char *buf) > { > struct super_block *s = sdp->sd_vfs; > - const u8 *uuid = s->s_uuid; > + > buf[0] = '\0'; > - if (!gfs2_uuid_valid(uuid)) > + if (uuid_is_null(&s->s_uuid)) > return 0; > - return snprintf(buf, PAGE_SIZE, "%pUB\n", uuid); > + return snprintf(buf, PAGE_SIZE, "%pUB\n", &s->s_uuid); > } > > static ssize_t freeze_show(struct gfs2_sbd *sdp, char *buf) > @@ -712,14 +701,13 @@ static int gfs2_uevent(struct kset *kset, struct kobject *kobj, > { > struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); > struct super_block *s = sdp->sd_vfs; > - const u8 *uuid = s->s_uuid; > > add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name); > add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name); > if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags)) > add_uevent_var(env, "JOURNALID=%d", sdp->sd_lockstruct.ls_jid); > - if (gfs2_uuid_valid(uuid)) > - add_uevent_var(env, "UUID=%pUB", uuid); > + if (!uuid_is_null(&s->s_uuid)) > + add_uevent_var(env, "UUID=%pUB", &s->s_uuid); > return 0; > } > > diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c > index ca1646fbcaef..83005f486451 100644 > --- a/fs/ocfs2/super.c > +++ b/fs/ocfs2/super.c > @@ -2062,7 +2062,7 @@ static int ocfs2_initialize_super(struct super_block *sb, > cbits = le32_to_cpu(di->id2.i_super.s_clustersize_bits); > bbits = le32_to_cpu(di->id2.i_super.s_blocksize_bits); > sb->s_maxbytes = ocfs2_max_file_offset(bbits, cbits); > - memcpy(sb->s_uuid, di->id2.i_super.s_uuid, > + memcpy(&sb->s_uuid, di->id2.i_super.s_uuid, > sizeof(di->id2.i_super.s_uuid)); > > osb->osb_dx_mask = (1 << (cbits - bbits)) - 1; > diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c > index 9008ab9fbd2e..5b795873f7fa 100644 > --- a/fs/overlayfs/copy_up.c > +++ b/fs/overlayfs/copy_up.c > @@ -284,7 +284,6 @@ static int ovl_set_origin(struct dentry *dentry, struct dentry *lower, > struct dentry *upper) > { > struct super_block *sb = lower->d_sb; > - uuid_be *uuid = (uuid_be *) &sb->s_uuid; > const struct ovl_fh *fh = NULL; > int err; > > @@ -294,8 +293,8 @@ static int ovl_set_origin(struct dentry *dentry, struct dentry *lower, > * up and a pure upper inode. > */ > if (sb->s_export_op && sb->s_export_op->fh_to_dentry && > - uuid_be_cmp(*uuid, NULL_UUID_BE)) { > - fh = ovl_encode_fh(lower, uuid); > + !uuid_is_null(&sb->s_uuid)) { > + fh = ovl_encode_fh(lower, &sb->s_uuid); > if (IS_ERR(fh)) > return PTR_ERR(fh); > } > diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c > index bad0f665a635..6709f27c6876 100644 > --- a/fs/overlayfs/namei.c > +++ b/fs/overlayfs/namei.c > @@ -135,7 +135,7 @@ static struct dentry *ovl_get_origin(struct dentry *dentry, > * Make sure that the stored uuid matches the uuid of the lower > * layer where file handle will be decoded. > */ > - if (uuid_be_cmp(fh->uuid, *(uuid_be *) &mnt->mnt_sb->s_uuid)) > + if (!uuid_equal(&fh->uuid, &mnt->mnt_sb->s_uuid)) > goto out; > > origin = exportfs_decode_fh(mnt, (struct fid *)fh->fid, > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > index 682b336a7a6a..6a18ae407713 100644 > --- a/fs/xfs/xfs_mount.c > +++ b/fs/xfs/xfs_mount.c > @@ -74,8 +74,7 @@ xfs_uuid_mount( > int hole, i; > > /* Publish UUID in struct super_block */ > - BUILD_BUG_ON(sizeof(mp->m_super->s_uuid) != sizeof(uuid_t)); > - memcpy(&mp->m_super->s_uuid, uuid, sizeof(uuid_t)); > + uuid_copy(&mp->m_super->s_uuid, uuid); > > if (mp->m_flags & XFS_MOUNT_NOUUID) > return 0; > diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h > index fccf7f44139d..bbb3712dd892 100644 > --- a/include/linux/cleancache.h > +++ b/include/linux/cleancache.h > @@ -27,7 +27,7 @@ struct cleancache_filekey { > > struct cleancache_ops { > int (*init_fs)(size_t); > - int (*init_shared_fs)(char *uuid, size_t); > + int (*init_shared_fs)(uuid_t *uuid, size_t); > int (*get_page)(int, struct cleancache_filekey, > pgoff_t, struct page *); > void (*put_page)(int, struct cleancache_filekey, > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 803e5a9b2654..3e68cabb8457 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -30,6 +30,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -1328,8 +1329,8 @@ struct super_block { > > struct sb_writers s_writers; > > - char s_id[32]; /* Informational name */ > - u8 s_uuid[16]; /* UUID */ > + char s_id[32]; /* Informational name */ > + uuid_t s_uuid; /* UUID */ > > void *s_fs_info; /* Filesystem private info */ > unsigned int s_max_links; > diff --git a/mm/cleancache.c b/mm/cleancache.c > index ba5d8f3e6d68..f7b9fdc79d97 100644 > --- a/mm/cleancache.c > +++ b/mm/cleancache.c > @@ -130,7 +130,7 @@ void __cleancache_init_shared_fs(struct super_block *sb) > int pool_id = CLEANCACHE_NO_BACKEND_SHARED; > > if (cleancache_ops) { > - pool_id = cleancache_ops->init_shared_fs(sb->s_uuid, PAGE_SIZE); > + pool_id = cleancache_ops->init_shared_fs(&sb->s_uuid, PAGE_SIZE); > if (pool_id < 0) > pool_id = CLEANCACHE_NO_POOL; > } > diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c > index d7f282d75cc1..1d32cd20009a 100644 > --- a/security/integrity/evm/evm_crypto.c > +++ b/security/integrity/evm/evm_crypto.c > @@ -164,7 +164,7 @@ static void hmac_add_misc(struct shash_desc *desc, struct inode *inode, > hmac_misc.mode = inode->i_mode; > crypto_shash_update(desc, (const u8 *)&hmac_misc, sizeof(hmac_misc)); > if (evm_hmac_attrs & EVM_ATTR_FSUUID) > - crypto_shash_update(desc, inode->i_sb->s_uuid, > + crypto_shash_update(desc, &inode->i_sb->s_uuid.b[0], > sizeof(inode->i_sb->s_uuid)); > crypto_shash_final(desc, digest); > } > diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c > index da3e7d50e0d7..659dbcc83d2f 100644 > --- a/security/integrity/ima/ima_policy.c > +++ b/security/integrity/ima/ima_policy.c > @@ -244,7 +244,7 @@ static bool ima_match_rules(struct ima_rule_entry *rule, struct inode *inode, > && rule->fsmagic != inode->i_sb->s_magic) > return false; > if ((rule->flags & IMA_FSUUID) && > - memcmp(&rule->fsuuid, inode->i_sb->s_uuid, sizeof(rule->fsuuid))) > + !uuid_equal(&rule->fsuuid, &inode->i_sb->s_uuid)) > return false; > if ((rule->flags & IMA_UID) && !rule->uid_op(cred->uid, rule->uid)) > return false; From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756351AbdERXST (ORCPT ); Thu, 18 May 2017 19:18:19 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:39639 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753221AbdERXSQ (ORCPT ); Thu, 18 May 2017 19:18:16 -0400 Subject: Re: [PATCH 17/23] fs: switch ->s_uuid to uuid_t From: Mimi Zohar To: Christoph Hellwig , Andy Shevchenko , Amir Goldstein , linux-fsdevel@vger.kernel.org Cc: Shaohua Li , Dan Williams , David Howells , Steven Whitehouse , linux-xfs@vger.kernel.org, linux-raid@vger.kernel.org, linux-nvdimm@ml01.01.org, linux-kernel@vger.kernel.org Date: Thu, 18 May 2017 19:17:07 -0400 In-Reply-To: <20170518062705.25902-18-hch@lst.de> References: <20170518062705.25902-1-hch@lst.de> <20170518062705.25902-18-hch@lst.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-MML: disable x-cbid: 17051823-0008-0000-0000-0000012DFB24 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17051823-0009-0000-0000-0000095CB383 Message-Id: <1495149427.3404.4.camel@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-05-18_06:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=3 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1705180159 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2017-05-18 at 08:26 +0200, Christoph Hellwig wrote: > For some file systems we still memcpy into it, but in various places this > already allows us to use the proper uuid helpers. More to come.. > > Signed-off-by: Christoph Hellwig Acked-by: Mimi Zohar  (Changes to IMA/EVM) > --- > drivers/xen/tmem.c | 6 +++--- > fs/ext4/super.c | 2 +- > fs/f2fs/super.c | 2 +- > fs/gfs2/ops_fstype.c | 2 +- > fs/gfs2/sys.c | 22 +++++----------------- > fs/ocfs2/super.c | 2 +- > fs/overlayfs/copy_up.c | 5 ++--- > fs/overlayfs/namei.c | 2 +- > fs/xfs/xfs_mount.c | 3 +-- > include/linux/cleancache.h | 2 +- > include/linux/fs.h | 5 +++-- > mm/cleancache.c | 2 +- > security/integrity/evm/evm_crypto.c | 2 +- > security/integrity/ima/ima_policy.c | 2 +- > 14 files changed, 23 insertions(+), 36 deletions(-) > > diff --git a/drivers/xen/tmem.c b/drivers/xen/tmem.c > index 4ac2ca8a7656..bf13d1ec51f3 100644 > --- a/drivers/xen/tmem.c > +++ b/drivers/xen/tmem.c > @@ -233,12 +233,12 @@ static int tmem_cleancache_init_fs(size_t pagesize) > return xen_tmem_new_pool(uuid_private, 0, pagesize); > } > > -static int tmem_cleancache_init_shared_fs(char *uuid, size_t pagesize) > +static int tmem_cleancache_init_shared_fs(uuid_t *uuid, size_t pagesize) > { > struct tmem_pool_uuid shared_uuid; > > - shared_uuid.uuid_lo = *(u64 *)uuid; > - shared_uuid.uuid_hi = *(u64 *)(&uuid[8]); > + shared_uuid.uuid_lo = *(u64 *)&uuid->b[0]; > + shared_uuid.uuid_hi = *(u64 *)&uuid->b[8]; > return xen_tmem_new_pool(shared_uuid, TMEM_POOL_SHARED, pagesize); > } > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index 0b177da9ea82..6e3b4186a22f 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -3952,7 +3952,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) > sb->s_qcop = &ext4_qctl_operations; > sb->s_quota_types = QTYPE_MASK_USR | QTYPE_MASK_GRP | QTYPE_MASK_PRJ; > #endif > - memcpy(sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); > + memcpy(&sb->s_uuid, es->s_uuid, sizeof(es->s_uuid)); > > INIT_LIST_HEAD(&sbi->s_orphan); /* unlinked but open files */ > mutex_init(&sbi->s_orphan_lock); > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c > index 83355ec4a92c..0b89b0b7b9f7 100644 > --- a/fs/f2fs/super.c > +++ b/fs/f2fs/super.c > @@ -1937,7 +1937,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) > sb->s_time_gran = 1; > sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | > (test_opt(sbi, POSIX_ACL) ? MS_POSIXACL : 0); > - memcpy(sb->s_uuid, raw_super->uuid, sizeof(raw_super->uuid)); > + memcpy(&sb->s_uuid, raw_super->uuid, sizeof(raw_super->uuid)); > > /* init f2fs-specific super block info */ > sbi->valid_super_block = valid_super_block; > diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c > index ed67548b286c..b92135c202c2 100644 > --- a/fs/gfs2/ops_fstype.c > +++ b/fs/gfs2/ops_fstype.c > @@ -203,7 +203,7 @@ static void gfs2_sb_in(struct gfs2_sbd *sdp, const void *buf) > > memcpy(sb->sb_lockproto, str->sb_lockproto, GFS2_LOCKNAME_LEN); > memcpy(sb->sb_locktable, str->sb_locktable, GFS2_LOCKNAME_LEN); > - memcpy(s->s_uuid, str->sb_uuid, 16); > + memcpy(&s->s_uuid, str->sb_uuid, 16); > } > > /** > diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c > index 7a515345610c..e77bc52b468f 100644 > --- a/fs/gfs2/sys.c > +++ b/fs/gfs2/sys.c > @@ -71,25 +71,14 @@ static ssize_t fsname_show(struct gfs2_sbd *sdp, char *buf) > return snprintf(buf, PAGE_SIZE, "%s\n", sdp->sd_fsname); > } > > -static int gfs2_uuid_valid(const u8 *uuid) > -{ > - int i; > - > - for (i = 0; i < 16; i++) { > - if (uuid[i]) > - return 1; > - } > - return 0; > -} > - > static ssize_t uuid_show(struct gfs2_sbd *sdp, char *buf) > { > struct super_block *s = sdp->sd_vfs; > - const u8 *uuid = s->s_uuid; > + > buf[0] = '\0'; > - if (!gfs2_uuid_valid(uuid)) > + if (uuid_is_null(&s->s_uuid)) > return 0; > - return snprintf(buf, PAGE_SIZE, "%pUB\n", uuid); > + return snprintf(buf, PAGE_SIZE, "%pUB\n", &s->s_uuid); > } > > static ssize_t freeze_show(struct gfs2_sbd *sdp, char *buf) > @@ -712,14 +701,13 @@ static int gfs2_uevent(struct kset *kset, struct kobject *kobj, > { > struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); > struct super_block *s = sdp->sd_vfs; > - const u8 *uuid = s->s_uuid; > > add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name); > add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name); > if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags)) > add_uevent_var(env, "JOURNALID=%d", sdp->sd_lockstruct.ls_jid); > - if (gfs2_uuid_valid(uuid)) > - add_uevent_var(env, "UUID=%pUB", uuid); > + if (!uuid_is_null(&s->s_uuid)) > + add_uevent_var(env, "UUID=%pUB", &s->s_uuid); > return 0; > } > > diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c > index ca1646fbcaef..83005f486451 100644 > --- a/fs/ocfs2/super.c > +++ b/fs/ocfs2/super.c > @@ -2062,7 +2062,7 @@ static int ocfs2_initialize_super(struct super_block *sb, > cbits = le32_to_cpu(di->id2.i_super.s_clustersize_bits); > bbits = le32_to_cpu(di->id2.i_super.s_blocksize_bits); > sb->s_maxbytes = ocfs2_max_file_offset(bbits, cbits); > - memcpy(sb->s_uuid, di->id2.i_super.s_uuid, > + memcpy(&sb->s_uuid, di->id2.i_super.s_uuid, > sizeof(di->id2.i_super.s_uuid)); > > osb->osb_dx_mask = (1 << (cbits - bbits)) - 1; > diff --git a/fs/overlayfs/copy_up.c b/fs/overlayfs/copy_up.c > index 9008ab9fbd2e..5b795873f7fa 100644 > --- a/fs/overlayfs/copy_up.c > +++ b/fs/overlayfs/copy_up.c > @@ -284,7 +284,6 @@ static int ovl_set_origin(struct dentry *dentry, struct dentry *lower, > struct dentry *upper) > { > struct super_block *sb = lower->d_sb; > - uuid_be *uuid = (uuid_be *) &sb->s_uuid; > const struct ovl_fh *fh = NULL; > int err; > > @@ -294,8 +293,8 @@ static int ovl_set_origin(struct dentry *dentry, struct dentry *lower, > * up and a pure upper inode. > */ > if (sb->s_export_op && sb->s_export_op->fh_to_dentry && > - uuid_be_cmp(*uuid, NULL_UUID_BE)) { > - fh = ovl_encode_fh(lower, uuid); > + !uuid_is_null(&sb->s_uuid)) { > + fh = ovl_encode_fh(lower, &sb->s_uuid); > if (IS_ERR(fh)) > return PTR_ERR(fh); > } > diff --git a/fs/overlayfs/namei.c b/fs/overlayfs/namei.c > index bad0f665a635..6709f27c6876 100644 > --- a/fs/overlayfs/namei.c > +++ b/fs/overlayfs/namei.c > @@ -135,7 +135,7 @@ static struct dentry *ovl_get_origin(struct dentry *dentry, > * Make sure that the stored uuid matches the uuid of the lower > * layer where file handle will be decoded. > */ > - if (uuid_be_cmp(fh->uuid, *(uuid_be *) &mnt->mnt_sb->s_uuid)) > + if (!uuid_equal(&fh->uuid, &mnt->mnt_sb->s_uuid)) > goto out; > > origin = exportfs_decode_fh(mnt, (struct fid *)fh->fid, > diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c > index 682b336a7a6a..6a18ae407713 100644 > --- a/fs/xfs/xfs_mount.c > +++ b/fs/xfs/xfs_mount.c > @@ -74,8 +74,7 @@ xfs_uuid_mount( > int hole, i; > > /* Publish UUID in struct super_block */ > - BUILD_BUG_ON(sizeof(mp->m_super->s_uuid) != sizeof(uuid_t)); > - memcpy(&mp->m_super->s_uuid, uuid, sizeof(uuid_t)); > + uuid_copy(&mp->m_super->s_uuid, uuid); > > if (mp->m_flags & XFS_MOUNT_NOUUID) > return 0; > diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h > index fccf7f44139d..bbb3712dd892 100644 > --- a/include/linux/cleancache.h > +++ b/include/linux/cleancache.h > @@ -27,7 +27,7 @@ struct cleancache_filekey { > > struct cleancache_ops { > int (*init_fs)(size_t); > - int (*init_shared_fs)(char *uuid, size_t); > + int (*init_shared_fs)(uuid_t *uuid, size_t); > int (*get_page)(int, struct cleancache_filekey, > pgoff_t, struct page *); > void (*put_page)(int, struct cleancache_filekey, > diff --git a/include/linux/fs.h b/include/linux/fs.h > index 803e5a9b2654..3e68cabb8457 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -30,6 +30,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -1328,8 +1329,8 @@ struct super_block { > > struct sb_writers s_writers; > > - char s_id[32]; /* Informational name */ > - u8 s_uuid[16]; /* UUID */ > + char s_id[32]; /* Informational name */ > + uuid_t s_uuid; /* UUID */ > > void *s_fs_info; /* Filesystem private info */ > unsigned int s_max_links; > diff --git a/mm/cleancache.c b/mm/cleancache.c > index ba5d8f3e6d68..f7b9fdc79d97 100644 > --- a/mm/cleancache.c > +++ b/mm/cleancache.c > @@ -130,7 +130,7 @@ void __cleancache_init_shared_fs(struct super_block *sb) > int pool_id = CLEANCACHE_NO_BACKEND_SHARED; > > if (cleancache_ops) { > - pool_id = cleancache_ops->init_shared_fs(sb->s_uuid, PAGE_SIZE); > + pool_id = cleancache_ops->init_shared_fs(&sb->s_uuid, PAGE_SIZE); > if (pool_id < 0) > pool_id = CLEANCACHE_NO_POOL; > } > diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c > index d7f282d75cc1..1d32cd20009a 100644 > --- a/security/integrity/evm/evm_crypto.c > +++ b/security/integrity/evm/evm_crypto.c > @@ -164,7 +164,7 @@ static void hmac_add_misc(struct shash_desc *desc, struct inode *inode, > hmac_misc.mode = inode->i_mode; > crypto_shash_update(desc, (const u8 *)&hmac_misc, sizeof(hmac_misc)); > if (evm_hmac_attrs & EVM_ATTR_FSUUID) > - crypto_shash_update(desc, inode->i_sb->s_uuid, > + crypto_shash_update(desc, &inode->i_sb->s_uuid.b[0], > sizeof(inode->i_sb->s_uuid)); > crypto_shash_final(desc, digest); > } > diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c > index da3e7d50e0d7..659dbcc83d2f 100644 > --- a/security/integrity/ima/ima_policy.c > +++ b/security/integrity/ima/ima_policy.c > @@ -244,7 +244,7 @@ static bool ima_match_rules(struct ima_rule_entry *rule, struct inode *inode, > && rule->fsmagic != inode->i_sb->s_magic) > return false; > if ((rule->flags & IMA_FSUUID) && > - memcmp(&rule->fsuuid, inode->i_sb->s_uuid, sizeof(rule->fsuuid))) > + !uuid_equal(&rule->fsuuid, &inode->i_sb->s_uuid)) > return false; > if ((rule->flags & IMA_UID) && !rule->uid_op(cred->uid, rule->uid)) > return false;