aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* ocfs2: Encode i_generation in the meta data lvbMark Fasheh2006-09-24
| | | | | | | | When i_generation is removed from the lockname, this will help us determine whether a meta data lvb has information that is in sync with the local struct inode. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Free up some space in the lvbMark Fasheh2006-09-24
| | | | | | | | lvb_version doesn't need to be a whole 32 bits. Make it an 8 bit field to free up some space. This should be backwards compatible until we use one of the fields, in which case we'd bump the lvb version anyway. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock()Mark Fasheh2006-09-24
| | | | | | | | We can't use LKM_LOCAL for new dentry locks because an unlink and subsequent re-create of a name/inode pair may result in the lock still being mastered somewhere in the cluster. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: manually d_move() during ocfs2_rename()Mark Fasheh2006-09-24
| | | | | | | | | | Make use of FS_RENAME_DOES_D_MOVE to avoid a race condition that can occur during ->rename() if we d_move() outside of the parent directory cluster locks, and another node discovers the new name (created during the rename) and unlinks it. d_move() will unconditionally rehash a dentry - which will leave stale data in the system. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* [PATCH] Allow file systems to manually d_move() inside of ->rename()Mark Fasheh2006-09-24
| | | | | | | | | | | | | | | | Some file systems want to manually d_move() the dentries involved in a rename. We can do this by making use of the FS_ODD_RENAME flag if we just have nfs_rename() unconditionally do the d_move(). While there, we rename the flag to be more descriptive. OCFS2 uses this to protect that part of the rename operation with a cluster lock. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org>
* ocfs2: Remove the dentry voteMark Fasheh2006-09-24
| | | | | | This is unused now. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Hook rest of the file system into dentry locking APIMark Fasheh2006-09-24
| | | | | | | Actually replace the vote calls with the new dentry operations. Make any necessary adjustments to get the scheme to work. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Add dentry tracking APIMark Fasheh2006-09-24
| | | | | | | | | | | | | | | | | Replace the dentry vote mechanism with a cluster lock which covers a set of dentries. This allows us to force d_delete() only on nodes which actually care about an unlink. Every node that does a ->lookup() gets a read only lock on the dentry, until an unlink during which the unlinking node, will request an exclusive lock, forcing the other nodes who care about that dentry to d_delete() it. The effect is that we retain a very lightweight ->d_revalidate(), and at the same time get to make large improvements to the average case performance of the ocfs2 unlink and rename operations. This patch adds the higher level API and the dentry manipulation code. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Add new cluster lock typeMark Fasheh2006-09-24
| | | | | | | | | | | | | | | | | | | Replace the dentry vote mechanism with a cluster lock which covers a set of dentries. This allows us to force d_delete() only on nodes which actually care about an unlink. Every node that does a ->lookup() gets a read only lock on the dentry, until an unlink during which the unlinking node, will request an exclusive lock, forcing the other nodes who care about that dentry to d_delete() it. The effect is that we retain a very lightweight ->d_revalidate(), and at the same time get to make large improvements to the average case performance of the ocfs2 unlink and rename operations. This patch adds the cluster lock type which OCFS2 can attach to dentries. A small number of fs/ocfs2/dcache.c functions are stubbed out so that this change can compile. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Update dlmglue for new dlmlock() APIMark Fasheh2006-09-24
| | | | | | | File system lock names are very regular right now, so we really only need to pass an extra parameter to dlmlock(). Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Update dlmfs for new dlmlock() APIMark Fasheh2006-09-24
| | | | | | | | We just need to add a namelen field to the user_lock_res structure, and update a few debug prints. Instead of updating all debug prints, I took the opportunity to remove a few that are likely unnecessary these days. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Allow binary names in the DLMMark Fasheh2006-09-24
| | | | | | | | The OCFS2 DLM uses strlen() to determine lock name length, which excludes the possibility of putting binary values in the name string. Fix this by requiring that string length be passed in as a parameter. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* ocfs2: Silence dlm error printMark Fasheh2006-09-24
| | | | | | | An AST can be delivered via the network after a lock has been removed, so no need to print an error when we see that. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
* Merge branch 'upstream-linus' of ↵Linus Torvalds2006-09-24
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (50 commits) [libata] Delete pata_it8172 driver [PATCH] libata: improve handling of diagostic fail (and hardware that misreports it) [PATCH] libata: fix non-uniform ports handling Fix libata resource conflict for legacy mode [libata] ata_piix: build fix [PATCH] pata_amd: Check enable bits on Nvidia [PATCH] Update SiS PATA [libata] Add pata_jmicron driver to Kconfig, Makefile [libata #pata-drivers] Trim trailing whitespace. [libata] Trim trailing whitespace. [libata] Add a bunch of PATA drivers. Rename libata-bmdma.c to libata-sff.c. libata: Grand renaming. Clean up drivers/ata/Kconfig a bit. [PATCH] CONFIG_PM=n slim: drivers/scsi/sata_sil* [PATCH] sata_via: Add SATA support for vt8237a [PATCH] libata: change path to libata in libata.tmpl [PATCH] libata: s/CONFIG_SCSI_SATA/CONFIG_[S]ATA/g in pci/quirks.c libata: Make sure drivers/ata is a separate Kconfig menu [libata] ata_piix: add missing kfree() ...
| * Merge branch 'master' into upstreamJeff Garzik2006-09-24
| |\
| * | [libata] Delete pata_it8172 driverJeff Garzik2006-09-20
| | | | | | | | | | | | | | | | | | | | | This MIPS platform is going away. Acked-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | [PATCH] libata: improve handling of diagostic fail (and hardware that ↵Alan Cox2006-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | misreports it) Our ATA probe code checks that a device is not reporting a diagnostic failure during start up. Unfortunately at least one device seems to like doing this - the Gigabyte iRAM. This is only done for the master right now (which is fine for the iRAM as it is SATA), as with PATA some combinations of ATAPI device seem to fool the check into seeing a drive that isn't there if it is applied to the slave. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | Merge branch 'master' into upstreamJeff Garzik2006-09-19
| |\ \
| * | | [PATCH] libata: fix non-uniform ports handlingTejun Heo2006-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Non-uniform ports handling got broken while updating libata to handle those in the same host. Only separate irq for the non-uniform secondary port was implemented while all other fields (host flags, transfer mode...) of the secondary port simply shared those of the first. For ata_piix combined mode, which ATM is the only user of non-uniform ports, this causes the secondary port assume the wrong type. This can cause PATA port to use SATA ops, which results in bogus check on PCS and detection failure. This patch adds ata_probe_ent->pinfo2 which points to optional port_info for the secondary port. For the time being, this seems to be the simplest solution. This workaround will be removed together with ata_probe_ent itself after init model is updated to allow more flexibility. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Nelson A. de Oliveira <naoliv@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | Merge branch 'tmp' into upstreamJeff Garzik2006-09-19
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/ata/libata-sff.c
| | * | | Fix libata resource conflict for legacy modeArnaud Patard2006-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the libata is trying to handle legacy ide ports (0x1f0 for instance), it doesn't take care if the resource has childs or not. The result is that this situation : 0100-01fe : pnp 00:09 0170-0177 : libata 01f0-01f7 : libata is seen as conflict, which is wrong. The proposed fix is to detect childs and in this case, look at which child is conflicting. Signed-off-by: Arnaud Patard <apatard@mandriva.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | Merge branch 'master' into upstreamJeff Garzik2006-09-13
| |\| | |
| * | | | [libata] ata_piix: build fixJeff Garzik2006-09-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spotted by Andrew Morton. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | Merge branch 'master' into upstreamJeff Garzik2006-09-12
| |\ \ \ \
| * | | | | [PATCH] pata_amd: Check enable bits on NvidiaAlan Cox2006-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A couple of people reported long delays on probe with the newer kernels and Nvidia PATA. This turned out to be because the Nvidia path forgot to check the enable bits so probed empty ports. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | [PATCH] Update SiS PATAAlan Cox2006-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New chipset identifiers Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-09-11
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/ata/ata_piix.c
| * | | | | | [libata] Add pata_jmicron driver to Kconfig, MakefileJeff Garzik2006-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Someone on LKML noticed it was missing (sorry, missed the name). Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | Merge branch 'upstream' into pata-driversJeff Garzik2006-09-04
| |\ \ \ \ \ \
| | * \ \ \ \ \ Merge branch 'master' into upstreamJeff Garzik2006-09-04
| | |\ \ \ \ \ \
| * | | | | | | | [libata #pata-drivers] Trim trailing whitespace.Jeff Garzik2006-08-31
| | | | | | | | |
| * | | | | | | | Merge branch 'upstream' into pata-driversJeff Garzik2006-08-31
| |\| | | | | | |
| | * | | | | | | [libata] Trim trailing whitespace.Jeff Garzik2006-08-31
| | | | | | | | |
| * | | | | | | | [libata] Add a bunch of PATA drivers.Jeff Garzik2006-08-29
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vast majority of drivers and changes are from Alan Cox. Albert Lee contributed and maintains pata_pdc2027x. Adrian Bunk, Andrew Morton, and Tejun Heo contributed various minor fixes and updates. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | Merge /spare/repo/linux-2.6 into upstreamJeff Garzik2006-08-29
| |\ \ \ \ \ \ \
| * | | | | | | | Rename libata-bmdma.c to libata-sff.c.Jeff Garzik2006-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | libata: Grand renaming.Jeff Garzik2006-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The biggest change is that ata_host_set is renamed to ata_host. * ata_host_set => ata_host * ata_probe_ent->host_flags => ata_probe_ent->port_flags * ata_probe_ent->host_set_flags => ata_probe_ent->_host_flags * ata_host_stats => ata_port_stats * ata_port->host => ata_port->scsi_host * ata_port->host_set => ata_port->host * ata_port_info->host_flags => ata_port_info->flags * ata_(.*)host_set(.*)\(\) => ata_\1host\2() The leading underscore in ata_probe_ent->_host_flags is to avoid reusing ->host_flags for different purpose. Currently, the only user of the field is libata-bmdma.c and probe_ent itself is scheduled to be removed. ata_port->host is reused for different purpose but this field is used inside libata core proper and of different type. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-24
| |\ \ \ \ \ \ \ \
| * | | | | | | | | Clean up drivers/ata/Kconfig a bit.Jeff Garzik2006-08-24
| | | | | | | | | |
| * | | | | | | | | [PATCH] CONFIG_PM=n slim: drivers/scsi/sata_sil*Alexey Dobriyan2006-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove some code which is unneeded if CONFIG_PM=n. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | [PATCH] sata_via: Add SATA support for vt8237aJay Cliburn2006-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the VIA Technologies VT8237A SATA controller, used, for example, on the ASUS M2V socket AM2 motherboard. Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | [PATCH] libata: change path to libata in libata.tmplHenrik Kretzschmar2006-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since libata moved from /drivers/scsi to /drivers/ata this template is broken. Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Acked-by: Alan Cox <alan@redhat.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-22
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/ata/ata_piix.c
| * | | | | | | | | | [PATCH] libata: s/CONFIG_SCSI_SATA/CONFIG_[S]ATA/g in pci/quirks.cTejun Heo2006-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/pci/quirks.c was not updated when libata config constants were renamed braking several libata quirks. Fix it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | | Merge branch 'upstream-fixes' into upstreamJeff Garzik2006-08-19
| |\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | libata: Make sure drivers/ata is a separate Kconfig menuJeff Garzik2006-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed by Rafael J. Wysocki Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | | | [libata] ata_piix: add missing kfree()Jeff Garzik2006-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed by Andrew Morton. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | | | libata: Separate libata.ko build from individual driver buildsJeff Garzik2006-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since some SAS drivers need libata, we can no longer use the rule that auto-builds libata.ko as needed. We must instead depend on Kconfig to determine when to build the library kernel module. Noticed by Brian King @ IBM. Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | | | libata: Remove SCSI_ prefix from Kconfig symbolsJeff Garzik2006-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * | | | | | | | | | | [PATCH] libata: Add CompactFlash supportAlan Cox2006-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CFA world has some additional rules and drive modes we need to support for newer expansion cards and on embedded boxes Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>