Comment 5 for bug 1685899

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2017-04-24 17:35 EDT-------
Actually, I see examples of taking read locks such as:

2627 /* obtain read lock on map */
2628 IREAD_LOCK(ipimap, RDWRLOCK_IMAP);
2629
2630 /* read the iag */
2631 if ((rc = diIAGRead(imap, iagno, &mp))) {
2632 IREAD_UNLOCK(ipimap);

So maybe a

/* acquire inode map lock */
IWRITE_LOCK(ipimap, RDWRLOCK_IMAP);

followed by

/* release the inode map lock */
IWRITE_UNLOCK(ipimap);

is warranted to keep the diUnmount()/diMount() somewhat atomic?