Looks good.

jim

On 10/09/09 04:29, Marcel Telka wrote:

>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.
>
>  
>

Reply via email to