Bug 153552 [LinkedResources] LinkedResourceDecorator shows wrong decoration for non-local targets
LinkedResourceDecorator.decorate uses resource.getLocation to check if the target of a link exists. This returns null when the target is on a non-local (EFS) filesystem, and as a consequence linked resources pointing to non-local files or folders are displayed with a warning overlay. It seems that using getLocationURI instead would fix the problem?
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
}
    /**
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(ILabelProviderListener)
     */
    public void removeListener(ILabelProviderListener listener) {
    }
    /**
     * Adds the linked resource overlay if the given element is a linked
     * resource.
     * 
     * @param element element to decorate
     * @param decoration  The decoration we are adding to
     * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(Object, IDecoration)
     */
    public void decorate(Object element, IDecoration decoration) {
        if (element instanceof IResource == false) {
			return;
		}
        IResource resource = (IResource) element;
        if (resource.isLinked()) {
            IPath location = resource.getLocation();
            if (location != null && location.toFile().exists()) {
				decoration.addOverlay(LINK);
			} else {
				decoration.addOverlay(LINK_WARNING);
			}
        }
    }
}