From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IYo6c-0004qm-LC for qemu-devel@nongnu.org; Fri, 21 Sep 2007 15:24:02 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IYo6c-0004qW-2j for qemu-devel@nongnu.org; Fri, 21 Sep 2007 15:24:02 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IYo6b-0004qT-Tr for qemu-devel@nongnu.org; Fri, 21 Sep 2007 15:24:01 -0400 Received: from wa-out-1112.google.com ([209.85.146.179]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IYo6b-0006bJ-Ez for qemu-devel@nongnu.org; Fri, 21 Sep 2007 15:24:01 -0400 Received: by wa-out-1112.google.com with SMTP id k22so1189981waf for ; Fri, 21 Sep 2007 12:23:58 -0700 (PDT) Message-ID: <9c10c9f0709211223r5d8fc448sc267c79cbe323045@mail.gmail.com> Date: Fri, 21 Sep 2007 16:23:58 -0300 From: "Lauro Ramos Venancio" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_45054_30839014.1190402638698" Subject: [Qemu-devel] [patch] inotify syscalls Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_45054_30839014.1190402638698 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline The attached patch implements the inotify syscalls. inotify.c is a test program. Example: $ arm-linux-gcc inotify.c -o test -static $ qemu-arm test file & [4] 13882 wd = 1 $ echo aaa > file Event on 1 mask 2(IN_MODIFY) Event on 1 mask 20(IN_OPEN) Event on 1 mask 8(IN_CLOSE_WRITE) Event on 1 mask 20(IN_OPEN) Event on 1 mask 1(IN_ACCESS) Event on 1 mask 10(IN_CLOSE_NOWRITE) $ chmod a+rwx file Event on 1 mask 4(IN_ATTRIB) Lauro Ramos Venancio OpenBossa Labs Instituto Nokia de Tecnologia Recife - Brazil ------=_Part_45054_30839014.1190402638698 Content-Type: text/x-csrc; name="inotify.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="inotify.c" X-Attachment-Id: f_f6v2ukjh I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN5cy9pbm90 aWZ5Lmg+CiNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KI2luY2x1ZGUgPHN5cy9wb2xsLmg+CiNp bmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPGVycm5vLmg+Cgp2b2lkIHByaW50X2V2ZW50KHVp bnQzMl90IGV2ZW50KSB7CiAgICBpZiAoZXZlbnQgJiBJTl9BQ0NFU1MpCiAgICAgICAgcHJpbnRm KCJJTl9BQ0NFU1MiKTsKICAgIGVsc2UgaWYgKGV2ZW50ICYgSU5fQVRUUklCKQogICAgICAgIHBy aW50ZigiSU5fQVRUUklCIik7CiAgICBlbHNlIGlmIChldmVudCAmIElOX0NMT1NFX1dSSVRFKQog ICAgICAgIHByaW50ZigiSU5fQ0xPU0VfV1JJVEUiKTsKICAgIGVsc2UgaWYgKGV2ZW50ICYgSU5f Q0xPU0VfTk9XUklURSkKICAgICAgICBwcmludGYoIklOX0NMT1NFX05PV1JJVEUiKTsKICAgIGVs c2UgaWYgKGV2ZW50ICYgSU5fQ1JFQVRFKQogICAgICAgIHByaW50ZigiSU5fQ1JFQVRFIik7CiAg ICBlbHNlIGlmIChldmVudCAmIElOX0RFTEVURSkKICAgICAgICBwcmludGYoIklOX0RFTEVURSIp OwogICAgZWxzZSBpZiAoZXZlbnQgJiBJTl9ERUxFVEVfU0VMRikKICAgICAgICBwcmludGYoIklO X0RFTEVURV9TRUxGIik7CiAgICBlbHNlIGlmIChldmVudCAmIElOX01PRElGWSkKICAgICAgICBw cmludGYoIklOX01PRElGWSIpOwogICAgZWxzZSBpZiAoZXZlbnQgJiBJTl9NT1ZFX1NFTEYpCiAg ICAgICAgcHJpbnRmKCJJTl9NT1ZFX1NFTEYiKTsKICAgIGVsc2UgaWYgKGV2ZW50ICYgSU5fTU9W RURfRlJPTSkKICAgICAgICBwcmludGYoIklOX01PVkVEX0ZST00iKTsKICAgIGVsc2UgaWYgKGV2 ZW50ICYgSU5fTU9WRURfVE8pCiAgICAgICAgcHJpbnRmKCJJTl9NT1ZFRF9UTyIpOwogICAgZWxz ZSBpZiAoZXZlbnQgJiBJTl9PUEVOKQogICAgICAgIHByaW50ZigiSU5fT1BFTiIpOwp9CgppbnQg bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CglpbnQgZmQsIHdkLCBieXRlc19yZWFkOwoJ c3RydWN0IHBvbGxmZCBwZmQ7CglzdHJ1Y3QgaW5vdGlmeV9ldmVudCBldmVudDsKICAgICAgICBp ZigwID4gKGZkID0gaW5vdGlmeV9pbml0KCkpKSB7CgkJcHJpbnRmKCJFcnJvciBvbiBub3RpZnkg aW5pdDogJWRcbiIsIGZkKTsKCQlleGl0KC0xKTsKCX0KCQoJaWYoYXJnYyA8IDIpIHsKCQlwcmlu dGYoIlVzYWdlOiAlcyA8ZmlsZT5cbiIsIGFyZ3ZbMF0pOwoJCWV4aXQoLTEpOwoJfQoKCWlmKDAg PiAod2QgPSBpbm90aWZ5X2FkZF93YXRjaChmZCwgYXJndlsxXSwgSU5fQUxMX0VWRU5UUykpKSB7 CgkJcHJpbnRmKCJFcnJvciBvbiBhZGQgd2F0Y2g6ICVkXG4iLCB3ZCk7CgkJZXhpdCgtMSk7Cgl9 CiAgICAgICAgcHJpbnRmKCJ3ZCA9ICVkXG4iLCB3ZCk7CglwZmQuZmQgPSBmZDsKCXBmZC5ldmVu dHMgPSBQT0xMSU4gfCBQT0xMRVJSIHwgUE9MTE5WQUw7CgoJd2hpbGUoMSkgewoJCWlmKDAgPiBw b2xsKCZwZmQsIDEsIC0xKSkgewoJCQlwcmludGYoIkVycm9yIG9uIHBvbGw6ICVzXG4iLCBzdHJl cnJvcihlcnJubykpOwoJCQlleGl0KC0xKTsKCQl9CgoJCWlmKHBmZC5yZXZlbnRzICYgUE9MTElO KSB7CgkJCWJ5dGVzX3JlYWQgPSByZWFkKGZkLCAmZXZlbnQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkpOwoJCQlp ZihieXRlc19yZWFkIDwgMCkgewoJCQkJcHJpbnRmKCJFcnJvciByZWFkaW5nIHNvbWUgYnl0ZXMg YW5kIHN0dWZmOiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzXG4i LCBzdHJlcnJvcihieXRlc19yZWFkKSk7CgkJCX0gZWxzZSB7CgkJCQlwcmludGYoIkV2ZW50IG9u ICVsZCBtYXNrICVseCgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl dmVudC53ZCwgZXZlbnQubWFzayk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJp bnRfZXZlbnQoZXZlbnQubWFzayk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJp bnRmKCIpXG4iKTsKCQkJfQoJCX0KICAgICAgICB9Cn0K ------=_Part_45054_30839014.1190402638698 Content-Type: text/x-patch; name="inotify.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="inotify.patch" X-Attachment-Id: f_f6v2wlk4 SW5kZXg6IGxpbnV4LXVzZXIvc3lzY2FsbC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9zb3VyY2Vz L3FlbXUvcWVtdS9saW51eC11c2VyL3N5c2NhbGwuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4x MjEKZGlmZiAtdSAtcjEuMTIxIHN5c2NhbGwuYwotLS0gbGludXgtdXNlci9zeXNjYWxsLmMJMTcg U2VwIDIwMDcgMDg6MDk6NTAgLTAwMDAJMS4xMjEKKysrIGxpbnV4LXVzZXIvc3lzY2FsbC5jCTIx IFNlcCAyMDA3IDE5OjE4OjI1IC0wMDAwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8c3lz L3NobS5oPgogI2luY2x1ZGUgPHN5cy9zZW0uaD4KICNpbmNsdWRlIDxzeXMvc3RhdGZzLmg+Cisj aW5jbHVkZSA8c3lzL2lub3RpZnkuaD4KICNpbmNsdWRlIDx1dGltZS5oPgogI2luY2x1ZGUgPHN5 cy9zeXNpbmZvLmg+CiAvLyNpbmNsdWRlIDxzeXMvdXNlci5oPgpAQCAtNDY1Miw3ICs0NjUzLDIz IEBACiAgICAgY2FzZSBUQVJHRVRfTlJfc2V0X3JvYnVzdF9saXN0OgogCWdvdG8gdW5pbXBsZW1l bnRlZF9ub3dhcm47CiAjZW5kaWYKLQorI2lmZGVmIFRBUkdFVF9OUl9pbm90aWZ5X2luaXQKKyAg ICBjYXNlIFRBUkdFVF9OUl9pbm90aWZ5X2luaXQ6CisgICAgICAgIHJldCA9IGdldF9lcnJubyhp bm90aWZ5X2luaXQoKSk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCisjaWZkZWYgVEFSR0VUX05S X2lub3RpZnlfYWRkX3dhdGNoCisgICAgY2FzZSBUQVJHRVRfTlJfaW5vdGlmeV9hZGRfd2F0Y2g6 CisgICAgICAgIHAgPSBsb2NrX3VzZXJfc3RyaW5nKGFyZzIpOworICAgICAgICByZXQgPSBnZXRf ZXJybm8oaW5vdGlmeV9hZGRfd2F0Y2goYXJnMSwgcGF0aChwKSwgYXJnMykpOworICAgICAgICB1 bmxvY2tfdXNlcihwLCBhcmcyLCAwKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNpZmRlZiBU QVJHRVRfTlJfaW5vdGlmeV9ybV93YXRjaAorICAgIGNhc2UgVEFSR0VUX05SX2lub3RpZnlfcm1f d2F0Y2g6CisgICAgICAgIHJldCA9IGdldF9lcnJubyhpbm90aWZ5X3JtX3dhdGNoKGFyZzEsIGFy ZzIpKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgIHVuaW1wbGVt ZW50ZWQ6CiAgICAgICAgIGdlbXVfbG9nKCJxZW11OiBVbnN1cHBvcnRlZCBzeXNjYWxsOiAlZFxu IiwgbnVtKTsK ------=_Part_45054_30839014.1190402638698--