From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Tsyvarev Subject: f2fs: f2fs unmount hangs if f2fs_init_acl() fails during mkdir syscall Date: Thu, 06 Feb 2014 09:43:24 +0400 Message-ID: <52F320FC.50803@ispras.ru> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WBHkM-00058P-Os for linux-f2fs-devel@lists.sourceforge.net; Thu, 06 Feb 2014 05:43:34 +0000 Received: from smtp.ispras.ru ([83.149.199.79]) by sog-mx-4.v43.ch3.sourceforge.com with esmtp (Exim 4.76) id 1WBHkK-0001ue-B0 for linux-f2fs-devel@lists.sourceforge.net; Thu, 06 Feb 2014 05:43:34 +0000 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: Jaegeuk Kim Cc: linux-kernel , linux-f2fs-devel@lists.sourceforge.net SGVsbG8sCgpUZXN0aW5nIGYyZnMgKG9mIGxpbnV4LTMuMTMpIHVuZGVyIGZhdWx0IHNpbXVsYXRp b24sIHdlIGRldGVjdGVkIAp1bW91bnQoKSBoYW5ncyB1cCBhZnRlcgpta2RpcigpLT4KICAgZjJm c19hZGRfbGluaygpLT4KICAgICBpbml0X2lub2RlX21ldGFkYXRhKCktPgogICAgICAgZjJmc19p bml0X2FjbCgpLT4KICAgICAgICAgZjJmc19nZXRfYWNsKCktPgogICAgICAgICAgIGYyZnNfZ2V0 eGF0dHIoKS0+CiAgICAgICAgICAgICByZWFkX2FsbF94YXR0cnMoKSBmYWlscy4KCkFsc28gdGhl cmUgd2FzIGEgQlVHX09OIHRyaWdnZXJlZCBhZnRlciB0aGUgZmF1bHQgaW4KbWtkaXIoKS0+CiAg IGYyZnNfYWRkX2xpbmsoKS0+CiAgICAgaW5pdF9pbm9kZV9tZXRhZGF0YSgpLT4KICAgICAgIHJl bW92ZV9pbm9kZV9wYWdlKCkgLT4KICAgICAgICAgZjJmc19idWdfb24oaW5vZGUtPmlfYmxvY2tz ICE9IDAgJiYgaW5vZGUtPmlfYmxvY2tzICE9IDEpOwoKSW4gdGhpcyBjYXNlIHRoZXJlIGFyZSAy IGJsb2NrcyBhbGxvY2F0ZWQsIHdoaWNoIGFyZSBjb3VudGVkIHdpdGggCmlub2RlLT5pX2Jsb2Nr cyBmaWVsZDoKCnN0YXRpYyBzdHJ1Y3QgcGFnZSAqaW5pdF9pbm9kZV9tZXRhZGF0YShzdHJ1Y3Qg aW5vZGUgKmlub2RlLAogICAgICAgICBzdHJ1Y3QgaW5vZGUgKmRpciwgY29uc3Qgc3RydWN0IHFz dHIgKm5hbWUpCnsKICAgICBzdHJ1Y3QgcGFnZSAqcGFnZTsKICAgICBpbnQgZXJyOwoKICAgICBp ZiAoaXNfaW5vZGVfZmxhZ19zZXQoRjJGU19JKGlub2RlKSwgRklfTkVXX0lOT0RFKSkgewogICAg ICAgICBwYWdlID0gbmV3X2lub2RlX3BhZ2UoaW5vZGUsIG5hbWUpOyA8LS0tLS0gRmlyc3QgYmxv Y2sgaXMgCmFsbG9jYXRlZCBmb3IgdGhlIGlub2RlCiAgICAgICAgIGlmIChJU19FUlIocGFnZSkp CiAgICAgICAgICAgICByZXR1cm4gcGFnZTsKCiAgICAgICAgIGlmIChTX0lTRElSKGlub2RlLT5p X21vZGUpKSB7CiAgICAgICAgICAgICBlcnIgPSBtYWtlX2VtcHR5X2Rpcihpbm9kZSwgZGlyLCBw YWdlKTsgPC0tLS0tIFNlY29uZCBibG9jayAKaXMgYWxsb2NhdGVkIGZvciB0aGUgaW5vZGUKICAg ICAgICAgICAgIGlmIChlcnIpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAg fQoKICAgICAgICAgZXJyID0gZjJmc19pbml0X2FjbChpbm9kZSwgZGlyLCBwYWdlKTsgPC0tLS0t IFRoaXMgY2FsbCByZXR1cm5zIAplcnJvcgogICAgICAgICBpZiAoZXJyKQogICAgICAgICAgICAg Z290byBlcnJvcjsKICAgICAgICAgLi4uCiAgICAgfSBlbHNlIHsKICAgICAgICAgLi4uCiAgICAg fQoKICAgICBpbml0X2RlbnRfaW5vZGUobmFtZSwgcGFnZSk7CgogICAgIC8qCiAgICAgICogVGhp cyBmaWxlIHNob3VsZCBiZSBjaGVja3BvaW50ZWQgZHVyaW5nIGZzeW5jLgogICAgICAqIFdlIGxv c3QgaV9waW5vIGZyb20gbm93IG9uLgogICAgICAqLwogICAgIGlmIChpc19pbm9kZV9mbGFnX3Nl dChGMkZTX0koaW5vZGUpLCBGSV9JTkNfTElOSykpIHsKICAgICAgICAgZmlsZV9sb3N0X3Bpbm8o aW5vZGUpOwogICAgICAgICBpbmNfbmxpbmsoaW5vZGUpOwogICAgIH0KICAgICByZXR1cm4gcGFn ZTsKCmVycm9yOgogICAgIGYyZnNfcHV0X3BhZ2UocGFnZSwgMSk7CiAgICAgcmVtb3ZlX2lub2Rl X3BhZ2UoaW5vZGUpOyA8LS0tLS0gRXhwZWN0cyBhdCBtb3N0IG9uZSBibG9jayAKYWxsb2NhdGVk IGZvciBpbm9kZQogICAgIHJldHVybiBFUlJfUFRSKGVycik7Cn0KCkZvdW5kIGJ5IExpbnV4IEZp bGUgU3lzdGVtIFZlcmlmaWNhdGlvbiBwcm9qZWN0IChsaW51eHRlc3Rpbmcub3JnKS4KCgpIZXJl IGFyZSBzb21lIGFkZGl0aW9uYWwgZGV0YWlscy4KCkYyZnMtcmVsYXRlZCBrZXJuZWwgY29uZmln dXJhdGlvbiBpczoKQ09ORklHX0YyRlNfRlM9bQpDT05GSUdfRjJGU19TVEFUX0ZTPXkKQ09ORklH X0YyRlNfRlNfWEFUVFI9eQpDT05GSUdfRjJGU19GU19QT1NJWF9BQ0w9eQpDT05GSUdfRjJGU19G U19TRUNVUklUWT15CkNPTkZJR19GMkZTX0NIRUNLX0ZTPXkKCgpCVUdfT04gbG9nOgpbICAxMTcu ODYzODY5XSBrZXJuZWwgQlVHIGF0IGZzL2YyZnMvbm9kZS5jOjgyNSEKWyAgMTE3Ljg2Mzg3MF0g aW52YWxpZCBvcGNvZGU6IDAwMDAgWyMxXSBTTVAKWyAgMTE3Ljg2Mzg3Ml0gTW9kdWxlcyBsaW5r ZWQgaW46IGYyZnMga2Vkcl9mc2ltX2luZGljYXRvcl9jb21tb24oT0YpIAprZWRyX2ZzaW1faW5k aWNhdG9yX2NhcGFibGUoT0YpCmtlZHJfZnNpbV9pbmRpY2F0b3Jfa21hbGxvYyhPRikga2Vkcl9m c2ltX3ZtbShPRikga2Vkcl9mc2ltX21lbV91dGlsKE9GKSAKa2Vkcl9mc2ltX2NhcGFibGUoT0Yp CmtlZHJfZnNpbV91YWNjZXNzKE9GKSBrZWRyX2ZzaW1fY21tKE9GKSBrZWRyX2ZhdWx0X3NpbXVs YXRpb24oT0YpIAprZWRyKE9GKSBmdXNlIG5mX2Nvbm50cmFja19uZXRiaW9zX25zCm5mX2Nvbm50 cmFja19icm9hZGNhc3QgaXB0X01BU1FVRVJBREUgaXA2dF9SRUpFQ1QgeHRfY29ubnRyYWNrIApl YnRhYmxlX25hdCBlYnRhYmxlX2Jyb3V0ZSBicmlkZ2Ugc3RwIGxsYwplYnRhYmxlX2ZpbHRlciBl YnRhYmxlcyBpcDZ0YWJsZV9uYXQgbmZfY29ubnRyYWNrX2lwdjYgbmZfZGVmcmFnX2lwdjYgCm5m X25hdF9pcHY2IGlwNnRhYmxlX21hbmdsZQppcDZ0YWJsZV9zZWN1cml0eSBpcDZ0YWJsZV9yYXcg aXA2dGFibGVfZmlsdGVyIGlwNl90YWJsZXMgaXB0YWJsZV9uYXQgCm5mX2Nvbm50cmFja19pcHY0 IG5mX2RlZnJhZ19pcHY0Cm5mX25hdF9pcHY0IG5mX25hdCBuZl9jb25udHJhY2sgaXB0YWJsZV9t YW5nbGUgaXB0YWJsZV9zZWN1cml0eSAKaXB0YWJsZV9yYXcgbWljcm9jb2RlIGkyY19waWl4NCBw YXJwb3J0X3BjCmUxMDAwIGkyY19jb3JlIHBhcnBvcnQgYXRhX2dlbmVyaWMgcGF0YV9hY3BpIFts YXN0IHVubG9hZGVkOiBrZWRyXQpbICAxMTcuODYzODk0XSBDUFU6IDAgUElEOiAyNzY2IENvbW06 IGZzLWRyaXZlci10ZXN0cyBUYWludGVkOiAKR0YgICAgICAgICAgTyAzLjEzLjBmcyAjMgpbICAx MTcuODYzODk1XSBIYXJkd2FyZSBuYW1lOiBpbm5vdGVrIEdtYkggVmlydHVhbEJveC9WaXJ0dWFs Qm94LCBCSU9TIApWaXJ0dWFsQm94IDEyLzAxLzIwMDYKWyAgMTE3Ljg2Mzg5Nl0gdGFzazogZmZm Zjg4MDAwMDFiNjQyMCB0aTogZmZmZjg4MDAxMTFhYzAwMCB0YXNrLnRpOiAKZmZmZjg4MDAxMTFh YzAwMApbICAxMTcuODYzODk3XSBSSVA6IDAwMTA6WzxmZmZmZmZmZmEwMWUwM2JmPl0gWzxmZmZm ZmZmZmEwMWUwM2JmPl0gCnJlbW92ZV9pbm9kZV9wYWdlKzB4YmYvMHhkMCBbZjJmc10KWyAgMTE3 Ljg2MzkwMV0gUlNQOiAwMDE4OmZmZmY4ODAwMTExYWRlMDggIEVGTEFHUzogMDAwMTAyMDIKWyAg MTE3Ljg2MzkwMl0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjg4MDAxMjVhMGMzMCBS Q1g6IApmZmZmODgwMDAwMWI2YTc4ClsgIDExNy44NjM5MDNdIFJEWDogZmZmZjg4MDAwMDAwMDAw MCBSU0k6IGZmZmZlYTAwMDA0Yjk3ODAgUkRJOiAKZmZmZjg4MDAxMjVhMGMzMApbICAxMTcuODYz OTAzXSBSQlA6IGZmZmY4ODAwMTExYWRlNTAgUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTogCjAw MDAwMDAwMDAwMDAwMDAKWyAgMTE3Ljg2MzkwNF0gUjEwOiAwMDAwMDAwMDAwMDAwMDA2IFIxMTog MDAwMDAwMDAwMDAwMDAwZiBSMTI6IApmZmZmZWEwMDAwNGI5NzgwClsgIDExNy44NjM5MDVdIFIx MzogMDAwMDAwMDAwMDAwMDAwNCBSMTQ6IGZmZmZlYTAwMDA0Yjk3ODAgUjE1OiAKZmZmZmVhMDAw MDRiOTdjMApbICAxMTcuODYzOTA3XSBGUzogIDAwMDA3ZmY5MmRjOWY3NDAoMDAwMCkgR1M6ZmZm Zjg4MDAzZmMwMDAwMCgwMDAwKSAKa25sR1M6MDAwMDAwMDAwMDAwMDAwMApbICAxMTcuODYzOTA4 XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDNiClsgIDEx Ny44NjM5MDldIENSMjogMDAwMDdmNjY3MzQxNTAwMCBDUjM6IDAwMDAwMDAwM2M2MjgwMDAgQ1I0 OiAKMDAwMDAwMDAwMDAwMDZmMApbICAxMTcuODYzOTEzXSBTdGFjazoKWyAgMTE3Ljg2MzkxM10g IDAwMDAwMDAwMDAwMDQxZmYgZmZmZmVhMDAwMDRiOTdjMCBmZmZmODgwMDExMWFkZTUwIApmZmZm ZmZmZmEwMWU5ZmZhClsgIDExNy44NjM5MTVdICBmZmZmZWEwMDAwNGI5NzgwIGZmZmY4ODAwMDAw MDAwMDAgZmZmZjg4MDAxMmU1ZDAwMCAKMDAwMDAwMDAwMDAwMDAwMwpbICAxMTcuODYzOTE3XSAg ZmZmZmVhMDAwMDRiOTc0MCBmZmZmODgwMDExMWFkZWMwIGZmZmZmZmZmYTAxZDBkMjAgCmZmZmY4 ODAwMTI1MzI5NDgKWyAgMTE3Ljg2MzkxOV0gQ2FsbCBUcmFjZToKWyAgMTE3Ljg2MzkyMl0gIFs8 ZmZmZmZmZmZhMDFlOWZmYT5dID8gZjJmc19pbml0X2FjbCsweDEwYS8weDE4MCBbZjJmc10KWyAg MTE3Ljg2MzkyNV0gIFs8ZmZmZmZmZmZhMDFkMGQyMD5dIF9fZjJmc19hZGRfbGluaysweDU2MC8w eDdjMCBbZjJmc10KWyAgMTE3Ljg2MzkyOF0gIFs8ZmZmZmZmZmZhMDFkM2I4Yj5dIGYyZnNfbWtk aXIrMHhiYi8weDE1MCBbZjJmc10KWyAgMTE3Ljg2MzkyOV0gIFs8ZmZmZmZmZmY4MTFjZjRjNz5d IHZmc19ta2RpcisweGI3LzB4MTYwClsgIDExNy44NjM5MzFdICBbPGZmZmZmZmZmODExZDAxMGY+ XSBTeVNfbWtkaXIrMHg1Zi8weGMwClsgIDExNy44NjM5MzNdICBbPGZmZmZmZmZmODE2NWJmMjk+ XSBzeXN0ZW1fY2FsbF9mYXN0cGF0aCsweDE2LzB4MWIKWyAgMTE3Ljg2MzkzNF0gQ29kZTogZTYg NDkgOGIgMTQgMjQgODMgZTIgMDEgNzQgMjMgNGMgODkgZTcgODkgNDUgYmMgZTggCmY3IGY5IGY2 IGUwIDRjIDg5IGU3IGU4IGZmIGQxIGY3CmUwIDhiIDQ1IGJjIDQ4IDgzIGM0IDMwIDViIDQxIDVj IDQxIDVkIDVkIGMzIDwwZj4gMGIgZTggYzggOWQgMDAgMDAgNjYgCjJlIDBmIDFmIDg0IDAwIDAw IDAwIDAwIDAwIDBmIDFmIDQ0IDAwClsgIDExNy44NjM5NTNdIFJJUCAgWzxmZmZmZmZmZmEwMWUw M2JmPl0gcmVtb3ZlX2lub2RlX3BhZ2UrMHhiZi8weGQwIFtmMmZzXQpbICAxMTcuODYzOTU2XSAg UlNQIDxmZmZmODgwMDExMWFkZTA4PgoKVGhlcmUgYXJlIHNldmVyYWwgd2F5cyBmb3Igc2ltdWxh dGUgZmF1bHRzIGluIGtlcm5lbCBmdW5jdGlvbiBjYWxscywgCmUuZy4gbWFudWFsIGZhdWx0cyBp bnNlcnRpb24sCmZhdWx0IGluamVjdGlvbiBrZXJuZWwgaW5mcnVzdHJ1Y3R1cmUuCkluIG15IHRl c3RzIEkgdXNlIEtFRFIgZnJhbWV3b3JrIChodHRwOi8vZm9yZ2UuaXNwcmFzLnJ1L3Byb2plY3Rz L2tlZHIpIApmb3IgdGhhdCBwdXJwb3NlLAp0aGF0IGlzIHdoeSBrZWRyKiBtb2R1bGVzIGFyZSBp biB0aGUgbG9nIGFib3ZlLgpDYWxsIHN0YWNrIG9mIHRoZSBmYXVsdCBzaW11bGF0ZWQgaXM6Cgpb ICAxMTcuODYzNzg5XSBLRURSIEZBVUxUIFNJTVVMQVRJT046IGZvcmNpbmcgYSBmYWlsdXJlClsg IDExNy44NjM3OTJdIENQVTogMCBQSUQ6IDI3NjYgQ29tbTogZnMtZHJpdmVyLXRlc3RzIFRhaW50 ZWQ6IApHRiAgICAgICAgICBPIDMuMTMuMGZzICMyClsgIDExNy44NjM3OTRdIEhhcmR3YXJlIG5h bWU6IGlubm90ZWsgR21iSCBWaXJ0dWFsQm94L1ZpcnR1YWxCb3gsIEJJT1MgClZpcnR1YWxCb3gg MTIvMDEvMjAwNgpbICAxMTcuODYzNzk1XSAgZmZmZjg4MDAxMTFhZGNlOCBmZmZmODgwMDExMWFk Y2IwIGZmZmZmZmZmODE2NGJkOTYgCjAwMDAwMDAwMDAwMDAwMDEKWyAgMTE3Ljg2Mzc5N10gIGZm ZmY4ODAwMTExYWRjZDggZmZmZmZmZmZhMDE4YWNlMiBmZmZmZmZmZmEwMThhYzQ1IApmZmZmZmZm ZmEwMWU4YjU0ClsgIDExNy44NjM3OTldICAwMDAwMDAwMDAwMDAxMDAwIGZmZmY4ODAwMTExYWRk MTggZmZmZmZmZmZhMDE5NDgxNiAKZmZmZmZmZmZhMDFlOGI1NApbICAxMTcuODYzODAxXSBDYWxs IFRyYWNlOgpbICAxMTcuODYzODA2XSAgWzxmZmZmZmZmZjgxNjRiZDk2Pl0gZHVtcF9zdGFjaysw eDQ1LzB4NTYKWyAgMTE3Ljg2MzgxMF0gIFs8ZmZmZmZmZmZhMDE4YWNlMj5dIGtlZHJfZnNpbV9w b2ludF9zaW11bGF0ZSsweGEyLzB4YjAgCltrZWRyX2ZhdWx0X3NpbXVsYXRpb25dClsgIDExNy44 NjM4MTJdICBbPGZmZmZmZmZmYTAxOGFjNDU+XSA/IGtlZHJfZnNpbV9wb2ludF9zaW11bGF0ZSsw eDUvMHhiMCAKW2tlZHJfZmF1bHRfc2ltdWxhdGlvbl0KWyAgMTE3Ljg2MzgxNl0gIFs8ZmZmZmZm ZmZhMDFlOGI1ND5dID8gcmVhZF9hbGxfeGF0dHJzKzB4M2M0LzB4M2UwIFtmMmZzXQpbICAxMTcu ODYzODE5XSAgWzxmZmZmZmZmZmEwMTk0ODE2Pl0ga2Vkcl9yZXBsX19fa21hbGxvYysweDM2LzB4 ODAgCltrZWRyX2ZzaW1fY21tXQpbICAxMTcuODYzODIyXSAgWzxmZmZmZmZmZmEwMWU4YjU0Pl0g PyByZWFkX2FsbF94YXR0cnMrMHgzYzQvMHgzZTAgW2YyZnNdClsgIDExNy44NjM4MjRdICBbPGZm ZmZmZmZmYTAxOTU1ZDI+XSAKa2Vkcl9pbnRlcm1lZGlhdGVfZnVuY19fX2ttYWxsb2MrMHg3Mi8w eGQwIFtrZWRyX2ZzaW1fY21tXQpbICAxMTcuODYzODI2XSAgWzxmZmZmZmZmZmEwMWU4YjU0Pl0g PyByZWFkX2FsbF94YXR0cnMrMHgzYzQvMHgzZTAgW2YyZnNdClsgIDExNy44NjM4MjldICBbPGZm ZmZmZmZmYTAxZThiNTQ+XSByZWFkX2FsbF94YXR0cnMrMHgzYzQvMHgzZTAgW2YyZnNdClsgIDEx Ny44NjM4MzJdICBbPGZmZmZmZmZmYTAxZTkxZDQ+XSBmMmZzX2dldHhhdHRyKzB4NDQvMHhmMCBb ZjJmc10KWyAgMTE3Ljg2MzgzNV0gIFs8ZmZmZmZmZmZhMDFlOWJhOT5dIGYyZnNfZ2V0X2FjbCsw eGU5LzB4MzkwIFtmMmZzXQpbICAxMTcuODYzODM4XSAgWzxmZmZmZmZmZmEwMWQ5OWM5Pl0gPyBz ZXRfZGlydHlfZGlyX3BhZ2UrMHhiOS8weGUwIFtmMmZzXQpbICAxMTcuODYzODQxXSAgWzxmZmZm ZmZmZmEwMWU5ZmZhPl0gZjJmc19pbml0X2FjbCsweDEwYS8weDE4MCBbZjJmc10KWyAgMTE3Ljg2 Mzg0M10gIFs8ZmZmZmZmZmZhMDFkMGNjYz5dIF9fZjJmc19hZGRfbGluaysweDUwYy8weDdjMCBb ZjJmc10KWyAgMTE3Ljg2Mzg0Nl0gIFs8ZmZmZmZmZmZhMDFkM2I4Yj5dIGYyZnNfbWtkaXIrMHhi Yi8weDE1MCBbZjJmc10KWyAgMTE3Ljg2Mzg0OV0gIFs8ZmZmZmZmZmY4MTFjZjRjNz5dIHZmc19t a2RpcisweGI3LzB4MTYwClsgIDExNy44NjM4NTFdICBbPGZmZmZmZmZmODExZDAxMGY+XSBTeVNf bWtkaXIrMHg1Zi8weGMwClsgIDExNy44NjM4NTRdICBbPGZmZmZmZmZmODE2NWJmMjk+XSBzeXN0 ZW1fY2FsbF9mYXN0cGF0aCsweDE2LzB4MWIKCi0tCkJlc3QgcmVnYXJkcywKQW5kcmV5IFRzeXZh cmV2CkxpbnV4IFZlcmlmaWNhdGlvbiBDZW50ZXIsIElTUFJBUwp3ZWI6IGh0dHA6Ly9saW51eHRl c3Rpbmcub3JnCgotLS0K0K3RgtC+INGB0L7QvtCx0YnQtdC90LjQtSDRgdCy0L7QsdC+0LTQvdC+ INC+0YIg0LLQuNGA0YPRgdC+0LIg0Lgg0LLRgNC10LTQvtC90L7RgdC90L7Qs9C+INCf0J4g0LHQ u9Cw0LPQvtC00LDRgNGPINC30LDRidC40YLQtSDQvtGCINCy0LjRgNGD0YHQvtCyIGF2YXN0IQpo dHRwOi8vd3d3LmF2YXN0LmNvbQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpNYW5hZ2luZyB0aGUg UGVyZm9ybWFuY2Ugb2YgQ2xvdWQtQmFzZWQgQXBwbGljYXRpb25zClRha2UgYWR2YW50YWdlIG9m IHdoYXQgdGhlIENsb3VkIGhhcyB0byBvZmZlciAtIEF2b2lkIENvbW1vbiBQaXRmYWxscy4KUmVh ZCB0aGUgV2hpdGVwYXBlci4KaHR0cDovL3B1YmFkcy5nLmRvdWJsZWNsaWNrLm5ldC9nYW1wYWQv Y2xrP2lkPTEyMTA1MTIzMSZpdT0vNDE0MC9vc3RnLmNsa3RyawpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1mMmZzLWRldmVsIG1haWxpbmcgbGlz dApMaW51eC1mMmZzLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNv dXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9saW51eC1mMmZzLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751909AbaBFFw7 (ORCPT ); Thu, 6 Feb 2014 00:52:59 -0500 Received: from smtp.ispras.ru ([83.149.199.79]:56450 "EHLO smtp.ispras.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750818AbaBFFw5 convert rfc822-to-8bit (ORCPT ); Thu, 6 Feb 2014 00:52:57 -0500 X-Greylist: delayed 569 seconds by postgrey-1.27 at vger.kernel.org; Thu, 06 Feb 2014 00:52:57 EST Message-ID: <52F320FC.50803@ispras.ru> Date: Thu, 06 Feb 2014 09:43:24 +0400 From: Andrey Tsyvarev User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: Jaegeuk Kim CC: linux-f2fs-devel@lists.sourceforge.net, linux-kernel Subject: f2fs: f2fs unmount hangs if f2fs_init_acl() fails during mkdir syscall Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT X-Antivirus: avast! (VPS 140205-0, 05.02.2014), Outbound message X-Antivirus-Status: Clean Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Testing f2fs (of linux-3.13) under fault simulation, we detected umount() hangs up after mkdir()-> f2fs_add_link()-> init_inode_metadata()-> f2fs_init_acl()-> f2fs_get_acl()-> f2fs_getxattr()-> read_all_xattrs() fails. Also there was a BUG_ON triggered after the fault in mkdir()-> f2fs_add_link()-> init_inode_metadata()-> remove_inode_page() -> f2fs_bug_on(inode->i_blocks != 0 && inode->i_blocks != 1); In this case there are 2 blocks allocated, which are counted with inode->i_blocks field: static struct page *init_inode_metadata(struct inode *inode, struct inode *dir, const struct qstr *name) { struct page *page; int err; if (is_inode_flag_set(F2FS_I(inode), FI_NEW_INODE)) { page = new_inode_page(inode, name); <----- First block is allocated for the inode if (IS_ERR(page)) return page; if (S_ISDIR(inode->i_mode)) { err = make_empty_dir(inode, dir, page); <----- Second block is allocated for the inode if (err) goto error; } err = f2fs_init_acl(inode, dir, page); <----- This call returns error if (err) goto error; ... } else { ... } init_dent_inode(name, page); /* * This file should be checkpointed during fsync. * We lost i_pino from now on. */ if (is_inode_flag_set(F2FS_I(inode), FI_INC_LINK)) { file_lost_pino(inode); inc_nlink(inode); } return page; error: f2fs_put_page(page, 1); remove_inode_page(inode); <----- Expects at most one block allocated for inode return ERR_PTR(err); } Found by Linux File System Verification project (linuxtesting.org). Here are some additional details. F2fs-related kernel configuration is: CONFIG_F2FS_FS=m CONFIG_F2FS_STAT_FS=y CONFIG_F2FS_FS_XATTR=y CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_CHECK_FS=y BUG_ON log: [ 117.863869] kernel BUG at fs/f2fs/node.c:825! [ 117.863870] invalid opcode: 0000 [#1] SMP [ 117.863872] Modules linked in: f2fs kedr_fsim_indicator_common(OF) kedr_fsim_indicator_capable(OF) kedr_fsim_indicator_kmalloc(OF) kedr_fsim_vmm(OF) kedr_fsim_mem_util(OF) kedr_fsim_capable(OF) kedr_fsim_uaccess(OF) kedr_fsim_cmm(OF) kedr_fault_simulation(OF) kedr(OF) fuse nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw microcode i2c_piix4 parport_pc e1000 i2c_core parport ata_generic pata_acpi [last unloaded: kedr] [ 117.863894] CPU: 0 PID: 2766 Comm: fs-driver-tests Tainted: GF O 3.13.0fs #2 [ 117.863895] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 117.863896] task: ffff8800001b6420 ti: ffff8800111ac000 task.ti: ffff8800111ac000 [ 117.863897] RIP: 0010:[] [] remove_inode_page+0xbf/0xd0 [f2fs] [ 117.863901] RSP: 0018:ffff8800111ade08 EFLAGS: 00010202 [ 117.863902] RAX: 0000000000000000 RBX: ffff8800125a0c30 RCX: ffff8800001b6a78 [ 117.863903] RDX: ffff880000000000 RSI: ffffea00004b9780 RDI: ffff8800125a0c30 [ 117.863903] RBP: ffff8800111ade50 R08: 0000000000000001 R09: 0000000000000000 [ 117.863904] R10: 0000000000000006 R11: 000000000000000f R12: ffffea00004b9780 [ 117.863905] R13: 0000000000000004 R14: ffffea00004b9780 R15: ffffea00004b97c0 [ 117.863907] FS: 00007ff92dc9f740(0000) GS:ffff88003fc00000(0000) knlGS:0000000000000000 [ 117.863908] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 117.863909] CR2: 00007f6673415000 CR3: 000000003c628000 CR4: 00000000000006f0 [ 117.863913] Stack: [ 117.863913] 00000000000041ff ffffea00004b97c0 ffff8800111ade50 ffffffffa01e9ffa [ 117.863915] ffffea00004b9780 ffff880000000000 ffff880012e5d000 0000000000000003 [ 117.863917] ffffea00004b9740 ffff8800111adec0 ffffffffa01d0d20 ffff880012532948 [ 117.863919] Call Trace: [ 117.863922] [] ? f2fs_init_acl+0x10a/0x180 [f2fs] [ 117.863925] [] __f2fs_add_link+0x560/0x7c0 [f2fs] [ 117.863928] [] f2fs_mkdir+0xbb/0x150 [f2fs] [ 117.863929] [] vfs_mkdir+0xb7/0x160 [ 117.863931] [] SyS_mkdir+0x5f/0xc0 [ 117.863933] [] system_call_fastpath+0x16/0x1b [ 117.863934] Code: e6 49 8b 14 24 83 e2 01 74 23 4c 89 e7 89 45 bc e8 f7 f9 f6 e0 4c 89 e7 e8 ff d1 f7 e0 8b 45 bc 48 83 c4 30 5b 41 5c 41 5d 5d c3 <0f> 0b e8 c8 9d 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 [ 117.863953] RIP [] remove_inode_page+0xbf/0xd0 [f2fs] [ 117.863956] RSP There are several ways for simulate faults in kernel function calls, e.g. manual faults insertion, fault injection kernel infrustructure. In my tests I use KEDR framework (http://forge.ispras.ru/projects/kedr) for that purpose, that is why kedr* modules are in the log above. Call stack of the fault simulated is: [ 117.863789] KEDR FAULT SIMULATION: forcing a failure [ 117.863792] CPU: 0 PID: 2766 Comm: fs-driver-tests Tainted: GF O 3.13.0fs #2 [ 117.863794] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006 [ 117.863795] ffff8800111adce8 ffff8800111adcb0 ffffffff8164bd96 0000000000000001 [ 117.863797] ffff8800111adcd8 ffffffffa018ace2 ffffffffa018ac45 ffffffffa01e8b54 [ 117.863799] 0000000000001000 ffff8800111add18 ffffffffa0194816 ffffffffa01e8b54 [ 117.863801] Call Trace: [ 117.863806] [] dump_stack+0x45/0x56 [ 117.863810] [] kedr_fsim_point_simulate+0xa2/0xb0 [kedr_fault_simulation] [ 117.863812] [] ? kedr_fsim_point_simulate+0x5/0xb0 [kedr_fault_simulation] [ 117.863816] [] ? read_all_xattrs+0x3c4/0x3e0 [f2fs] [ 117.863819] [] kedr_repl___kmalloc+0x36/0x80 [kedr_fsim_cmm] [ 117.863822] [] ? read_all_xattrs+0x3c4/0x3e0 [f2fs] [ 117.863824] [] kedr_intermediate_func___kmalloc+0x72/0xd0 [kedr_fsim_cmm] [ 117.863826] [] ? read_all_xattrs+0x3c4/0x3e0 [f2fs] [ 117.863829] [] read_all_xattrs+0x3c4/0x3e0 [f2fs] [ 117.863832] [] f2fs_getxattr+0x44/0xf0 [f2fs] [ 117.863835] [] f2fs_get_acl+0xe9/0x390 [f2fs] [ 117.863838] [] ? set_dirty_dir_page+0xb9/0xe0 [f2fs] [ 117.863841] [] f2fs_init_acl+0x10a/0x180 [f2fs] [ 117.863843] [] __f2fs_add_link+0x50c/0x7c0 [f2fs] [ 117.863846] [] f2fs_mkdir+0xbb/0x150 [f2fs] [ 117.863849] [] vfs_mkdir+0xb7/0x160 [ 117.863851] [] SyS_mkdir+0x5f/0xc0 [ 117.863854] [] system_call_fastpath+0x16/0x1b -- Best regards, Andrey Tsyvarev Linux Verification Center, ISPRAS web: http://linuxtesting.org --- Это сообщение свободно от вирусов и вредоносного ПО благодаря защите от вирусов avast! http://www.avast.com