Date: Sun, 29 Jul 2012 13:13:54 -0700 From: Garrett Cooper <yanegomi@gmail.com> To: davidxu@freebsd.org Cc: freebsd-bugs@freebsd.org Subject: Re: kern/170203: [kern] piped dd' s don' t behave sanely when dealing with a fifo Message-ID: <CAGH67wR_Wq-iH6psNX69qEkL8YG1kQuTxQ-0s6PxW3bXwda4Vw@mail.gmail.com> In-Reply-To: <5014A64A.3010106@gmail.com> References: <201207272150.q6RLo9ew012879@freefall.freebsd.org> <501482CD.6050708@gmail.com> <CAGH67wQYCf6N0hF4Hru63snCxVoPjBmLgjyPkVBRT7q7%2BgcqbQ@mail.gmail.com> <50148F42.20105@gmail.com> <5014A64A.3010106@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--14dae9399c5fa4dd0b04c5fd954d Content-Type: text/plain; charset=ISO-8859-1 On Sat, Jul 28, 2012 at 7:56 PM, David Xu <listlog2011@gmail.com> wrote: ... > I have updated patch, the patch fixed lost-notification bug for select(): > http://people.freebsd.org/~davidxu/patch/fifopipe/kernel_pipe2.diff This patch prevents the hang from occurring on CURRENT / r238870 (it was missing a header definition in sys/pipe.h). Now all that remains is chasing down why dd's records accounting is bogus. The attached patch makes the output somewhat more meaningful with dd if it receives a SIGPIPE. Thanks! -Garrett PS Fedora 17 does what I expect by reporting the actual number of records transferred across the fifo. --14dae9399c5fa4dd0b04c5fd954d Content-Type: application/octet-stream; name="fix-fifo-hangs-on-CURRENT-r238870.patch" Content-Disposition: attachment; filename="fix-fifo-hangs-on-CURRENT-r238870.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h58jhml60 LS0tIC8vZGVwb3QvdXNlci9nY29vcGVyL2F0Zi1oZWFkL3NyYy9zeXMvZnMvZmlmb2ZzL2ZpZm9f dm5vcHMuYwkyMDEyLTA1LTIwIDA0OjM3OjA0LjAwMDAwMDAwMCAwMDAwCisrKyAvc2NyYXRjaC9w NC91c2VyL2djb29wZXIvYXRmLWhlYWQvc3JjL3N5cy9mcy9maWZvZnMvZmlmb192bm9wcy5jCTIw MTItMDUtMjAgMDQ6Mzc6MDQuMDAwMDAwMDAwIDAwMDAKLS0tIC90bXAvdG1wLjQ3ODQ3Ljk0CTIw MTItMDctMjkgMTI6NDQ6MDguMDgzMzg0OTk2IC0wNzAwCisrKyAvc2NyYXRjaC9wNC91c2VyL2dj b29wZXIvYXRmLWhlYWQvc3JjL3N5cy9mcy9maWZvZnMvZmlmb192bm9wcy5jCTIwMTItMDctMjkg MTI6MDA6MDMuNTAxMzQwMTQxIC0wNzAwCkBAIC0yODMsOCArMjgzLDExIEBACiAJCWlmIChmaXAt PmZpX3JlYWRlcnMgPT0gMCkgewogCQkJUElQRV9MT0NLKGNwaXBlKTsKIAkJCWNwaXBlLT5waXBl X3N0YXRlIHw9IFBJUEVfRU9GOwotCQkJaWYgKGNwaXBlLT5waXBlX3N0YXRlICYgUElQRV9XQU5U VykKKwkJCWlmICgoY3BpcGUtPnBpcGVfc3RhdGUgJiBQSVBFX1dBTlRXKSkgeworCQkJCWNwaXBl LT5waXBlX3N0YXRlICY9IH5QSVBFX1dBTlRXOwogCQkJCXdha2V1cChjcGlwZSk7CisJCQl9CisJ CQlwaXBlc2Vsd2FrZXVwKGNwaXBlKTsKIAkJCVBJUEVfVU5MT0NLKGNwaXBlKTsKIAkJfQogCX0K QEAgLTI5MywxMCArMjk2LDEzIEBACiAJCWlmIChmaXAtPmZpX3dyaXRlcnMgPT0gMCkgewogCQkJ UElQRV9MT0NLKGNwaXBlKTsKIAkJCWNwaXBlLT5waXBlX3N0YXRlIHw9IFBJUEVfRU9GOwotCQkJ aWYgKGNwaXBlLT5waXBlX3N0YXRlICYgUElQRV9XQU5UUikKKwkJCWlmICgoY3BpcGUtPnBpcGVf c3RhdGUgJiBQSVBFX1dBTlRSKSkgeworCQkJCWNwaXBlLT5waXBlX3N0YXRlICY9IH5QSVBFX1dB TlRSOwogCQkJCXdha2V1cChjcGlwZSk7CisJCQl9CiAJCQlmaXAtPmZpX3dnZW4rKzsKIAkJCUZJ Rk9fVVBEV0dFTihmaXAsIGNwaXBlKTsKKwkJCXBpcGVzZWx3YWtldXAoY3BpcGUpOwogCQkJUElQ RV9VTkxPQ0soY3BpcGUpOwogCQl9CiAJfQotLS0gLy9kZXBvdC91c2VyL2djb29wZXIvYXRmLWhl YWQvc3JjL3N5cy9rZXJuL3N5c19waXBlLmMJMjAxMi0wNS0yMCAwNDozNzowNC4wMDAwMDAwMDAg MDAwMAorKysgL3NjcmF0Y2gvcDQvdXNlci9nY29vcGVyL2F0Zi1oZWFkL3NyYy9zeXMva2Vybi9z eXNfcGlwZS5jCTIwMTItMDUtMjAgMDQ6Mzc6MDQuMDAwMDAwMDAwIDAwMDAKLS0tIC90bXAvdG1w LjQ3ODQ3LjE2OQkyMDEyLTA3LTI5IDEyOjQ0OjA4LjE1NzM0MzIwOCAtMDcwMAorKysgL3NjcmF0 Y2gvcDQvdXNlci9nY29vcGVyL2F0Zi1oZWFkL3NyYy9zeXMva2Vybi9zeXNfcGlwZS5jCTIwMTIt MDctMjkgMTI6MDA6MDMuNTE1MzM4MzU5IC0wNzAwCkBAIC0yMjcsNyArMjI3LDYgQEAKIHN0YXRp YyBpbnQgcGlwZV9wYWlyY3JlYXRlKHN0cnVjdCB0aHJlYWQgKnRkLCBzdHJ1Y3QgcGlwZXBhaXIg KipwX3BwKTsKIHN0YXRpYyBfX2lubGluZSBpbnQgcGlwZWxvY2soc3RydWN0IHBpcGUgKmNwaXBl LCBpbnQgY2F0Y2gpOwogc3RhdGljIF9faW5saW5lIHZvaWQgcGlwZXVubG9jayhzdHJ1Y3QgcGlw ZSAqY3BpcGUpOwotc3RhdGljIF9faW5saW5lIHZvaWQgcGlwZXNlbHdha2V1cChzdHJ1Y3QgcGlw ZSAqY3BpcGUpOwogI2lmbmRlZiBQSVBFX05PRElSRUNUCiBzdGF0aWMgaW50IHBpcGVfYnVpbGRf d3JpdGVfYnVmZmVyKHN0cnVjdCBwaXBlICp3cGlwZSwgc3RydWN0IHVpbyAqdWlvKTsKIHN0YXRp YyB2b2lkIHBpcGVfZGVzdHJveV93cml0ZV9idWZmZXIoc3RydWN0IHBpcGUgKndwaXBlKTsKQEAg LTYwNyw3ICs2MDYsNyBAQAogCX0KIH0KIAotc3RhdGljIF9faW5saW5lIHZvaWQKK3ZvaWQKIHBp cGVzZWx3YWtldXAoY3BpcGUpCiAJc3RydWN0IHBpcGUgKmNwaXBlOwogewpAQCAtNzM4LDcgKzcz Nyw3IEBACiAJCQlycGlwZS0+cGlwZV9tYXAucG9zICs9IHNpemU7CiAJCQlycGlwZS0+cGlwZV9t YXAuY250IC09IHNpemU7CiAJCQlpZiAocnBpcGUtPnBpcGVfbWFwLmNudCA9PSAwKSB7Ci0JCQkJ cnBpcGUtPnBpcGVfc3RhdGUgJj0gflBJUEVfRElSRUNUVzsKKwkJCQlycGlwZS0+cGlwZV9zdGF0 ZSAmPSB+KFBJUEVfRElSRUNUV3xQSVBFX1dBTlRXKTsKIAkJCQl3YWtldXAocnBpcGUpOwogCQkJ fQogI2VuZGlmCkBAIC0xMDAxLDYgKzEwMDAsNyBAQAogCQkJd2FrZXVwKHdwaXBlKTsKIAkJfQog CQlwaXBlc2Vsd2FrZXVwKHdwaXBlKTsKKwkJd3BpcGUtPnBpcGVfc3RhdGUgfD0gUElQRV9XQU5U VzsKIAkJcGlwZXVubG9jayh3cGlwZSk7CiAJCWVycm9yID0gbXNsZWVwKHdwaXBlLCBQSVBFX01U WCh3cGlwZSksIFBSSUJJTyB8IFBDQVRDSCwKIAkJICAgICJwaXBkd3QiLCAwKTsKLS0tIC8vZGVw b3QvdXNlci9nY29vcGVyL2F0Zi1oZWFkL3NyYy9zeXMvc3lzL3BpcGUuaAkyMDEyLTA1LTIwIDA0 OjM3OjA0LjAwMDAwMDAwMCAwMDAwCisrKyAvc2NyYXRjaC9wNC91c2VyL2djb29wZXIvYXRmLWhl YWQvc3JjL3N5cy9zeXMvcGlwZS5oCTIwMTItMDUtMjAgMDQ6Mzc6MDQuMDAwMDAwMDAwIDAwMDAK LS0tIC90bXAvdG1wLjQ3ODQ3LjIwNwkyMDEyLTA3LTI5IDEyOjQ0OjA4LjE3NjMzOTEyOCAtMDcw MAorKysgL3NjcmF0Y2gvcDQvdXNlci9nY29vcGVyL2F0Zi1oZWFkL3NyYy9zeXMvc3lzL3BpcGUu aAkyMDEyLTA3LTI5IDEyOjE3OjUzLjU5MjM5Mzg5MiAtMDcwMApAQCAtMTQzLDUgKzE0Myw2IEBA CiAKIHZvaWQJcGlwZV9kdG9yKHN0cnVjdCBwaXBlICpkcGlwZSk7CiBpbnQJcGlwZV9uYW1lZF9j dG9yKHN0cnVjdCBwaXBlICoqcHBpcGUsIHN0cnVjdCB0aHJlYWQgKnRkKTsKK3ZvaWQJcGlwZXNl bHdha2V1cChzdHJ1Y3QgcGlwZSAqY3BpcGUpOwogCiAjZW5kaWYgLyogIV9TWVNfUElQRV9IXyAq Lwo= --14dae9399c5fa4dd0b04c5fd954d Content-Type: application/octet-stream; name="fix-dd-with-fifos.patch" Content-Disposition: attachment; filename="fix-dd-with-fifos.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h58kggqp1 LS0tIC8vZGVwb3QvdXNlci9nY29vcGVyL2F0Zi1oZWFkL3NyYy9iaW4vZGQvZGQuYwkyMDEyLTA1 LTIwIDA0OjM3OjA0LjAwMDAwMDAwMCAwMDAwCisrKyAvc2NyYXRjaC9wNC91c2VyL2djb29wZXIv YXRmLWhlYWQvc3JjL2Jpbi9kZC9kZC5jCTIwMTItMDUtMjAgMDQ6Mzc6MDQuMDAwMDAwMDAwIDAw MDAKQEAgLTkxLDYgKzkxLDcgQEAKIAogCSh2b2lkKXNpZ25hbChTSUdJTkZPLCBzdW1tYXJ5eCk7 CiAJKHZvaWQpc2lnbmFsKFNJR0lOVCwgdGVybWluYXRlKTsKKwkodm9pZClzaWduYWwoU0lHUElQ RSwgU0lHX0lHTik7CiAKIAlhdGV4aXQoc3VtbWFyeSk7CiAKQEAgLTExNiw2ICsxMTcsNyBAQAog ewogCXVfaW50IGNudDsKIAlzdHJ1Y3QgdGltZXZhbCB0djsKKwlzdHJ1Y3Qgc3RhdCBzYjsKIAog CWlmIChpbi5uYW1lID09IE5VTEwpIHsKIAkJaW4ubmFtZSA9ICJzdGRpbiI7CkBAIC0xMzgsNyAr MTQwLDExIEBACiAJfSBlbHNlIHsKICNkZWZpbmUJT0ZMQUdTIFwKICAgICAoT19DUkVBVCB8IChk ZGZsYWdzICYgKENfU0VFSyB8IENfTk9UUlVOQykgPyAwIDogT19UUlVOQykpCi0JCW91dC5mZCA9 IG9wZW4ob3V0Lm5hbWUsIE9fUkRXUiB8IE9GTEFHUywgREVGRklMRU1PREUpOworCisJCWlmIChz dGF0KG91dC5uYW1lLCAmc2IpICE9IDAgfHwgIVNfSVNGSUZPKHNiLnN0X21vZGUpKQorCQkJb3V0 LmZkID0gb3BlbihvdXQubmFtZSwgT19SRFdSIHwgT0ZMQUdTLCBERUZGSUxFTU9ERSk7CisJCWVs c2UKKwkJCW91dC5mZCA9IC0xOwogCQkvKgogCQkgKiBNYXkgbm90IGhhdmUgcmVhZCBhY2Nlc3Ms IHNvIHRyeSBhZ2FpbiB3aXRoIHdyaXRlIG9ubHkuCiAJCSAqIFdpdGhvdXQgcmVhZCB3ZSBtYXkg aGF2ZSBhIHByb2JsZW0gaWYgb3V0cHV0IGFsc28gZG9lcwo= --14dae9399c5fa4dd0b04c5fd954d--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wR_Wq-iH6psNX69qEkL8YG1kQuTxQ-0s6PxW3bXwda4Vw>