Hi, Please code review the following simple fix (two lines changed): http://cr.opensolaris.org/~aragorn/6887666-6887889-INTR/
6887666 mmap() on NFSv4 mounted filesystem can be not interruptible 6887889 Possible not interruptible hang in nfs4_write() with directio, append and intr Background ========== Both CRs are about wrong usage of INTR() macro in the NFSv4 client sources. Instead, the INTR4() macro should be used. This problem affects NFSv4 mounts with "intr" mount flag set on (default). Under some circumstances we can lead to situation where the userspace process is not interruptible. The problem is that in the NFSv4 domain the INTR() macro usage is plain wrong because both mntinfo4_t and mntinfo_t structures differs significantly. At least the offset of mi_flags is different. This ends up in situation where the nfs_rw_enter_sig() calls cv_wait() instead of correct cv_wait_sig(). >From the mount_nfs(1M) man page: intr | nointr Allow (do not allow) keyboard interrupts to kill a process that is hung while waiting for a response on a hard-mounted file system. The default is intr, which makes it possible for clients to interrupt applications that can be waiting for a remote mount. Thanks for your time. -- Marcel Telka Solaris RPE