Project

General

Profile

Bug #8270

dnlc_reverse_lookup() is unsafe at any speed

Added by Patrick Mooney over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Category:
kernel
Start date:
2017-05-24
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

Doing a reverse "lookup" in the DNLC (in air quotes because it's a scan, not a lookup) is unsafe at any speed – there shouldn't be an interface to do it, and consumers of it should simply assume that dnlc_reverse_lookup() returns nothing. Doing this resolves acute performance issues that we've seen in production in getcwd(), reading LX pmaps and other domains.

(Upstreaming https://smartos.org/bugview/OS-3975)

History

#1

Updated by Electric Monk over 2 years ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

git commit f176a0a4cd61cbd708a7f25dc30d221f4d5902ba

commit  f176a0a4cd61cbd708a7f25dc30d221f4d5902ba
Author: Bryan Cantrill <bryan@joyent.com>
Date:   2017-06-07T20:00:15.000Z

    8270 dnlc_reverse_lookup() is unsafe at any speed
    Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
    Reviewed by: Andy Stormont <astormont@racktopsystems.com>
    Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Also available in: Atom PDF