Re: [Bug #16161] [2.6.35-rc1 regression] sysfs: cannot create duplicate filename ... XVR-600 related?

Alex Chiang
2010-06-21T04:58:33Z

* David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>:
> From: Brian Bloniarz <bmb-FfUH/8kkONhWk0Htik3J/w@public.gmane.org>
> Date: Fri, 18 Jun 2010 16:40:44 -0400
>
> > In the patch, 2 individual code paths were trying to
> > create the same symlinks:
> > pci-sysfs.c:pci_create_slot_links(struct pci_dev *dev)
> > and
> > slot.c:create_sysfs_files(struct pci_slot *slot).
> > I think some archs managed to call those both during
> > initialization, and some not.
>
> Right, and if I recall correctly when adding sparc64 support for
> the sysfs slot stuff if you wanted to create the slots in a
> non-hotplug situation (which all of the sparc64 cases are) you
> had to defer the sysfs node creation to later in the boot than
> when the PCI buses are actually probed and populated.

Yeah, we call pci_create_sysfs_dev_files() from pci_sysfs_init()
and from pci_bus_add_device().

I haven't figured out why it is that creating other sysfs files,
e.g. rom files, capabilities, etc. don't also result in duplicate
entries while the slots do.

Clearly my expectation was incorrect for the cases when
pci_create_sysfs_dev_files() gets called on the different
architectures.

Anyhow, thanks for the revert Jesse. I wish I had more
time/energy to dig into this right now, but I really don't.
Sorry.

/ac