29 Apr, 2008
40 commits
-
SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30913aSigned-off-by: Barry Naujok
Signed-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
The VFS always has an inode reference when we call these functions. So we
only need to grab a signle reference to each inode that's joined to a
transaction - all the other bumping and dropping is as useless as the
comments describing the IRIX semantics.SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30912aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
VFS guaranteed these can't happen.
SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30911aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
Similar to to the previous patch for remove and rmdir only grab a
reference to inodes when we join them to transaction to balance the
decrement on transaction completion. Everything else it taken care of by
the VFS.Note that the old case had leaks of inode count when src == target or src
or target == one of the parent inodes, but these cases are fortunately
already rejected by the VFS.SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30904aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
->rename already gets the target inode passed if it exits. Pass it down to
xfs_rename so that we can avoid looking it up again. Also simplify locking
as the first lock section in xfs_rename can go away now: the isdir is an
invariant over the lifetime of the inode, and new_parent and the nlink
check are namespace topology protected by i_mutex in the VFS. The projid
check needs to move into the second lock section anyway to not be racy.Also kill the now unused xfs_dir_lookup_int and remove the now-unused
first_locked argumet to xfs_lock_inodes.SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30903aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
The writer field is not needed for non_DEBU builds so remove it. While
we're at i also clean up the interface for is locked asserts to go through
and xfs_iget.c helper with an interface like the xfs_ilock routines to
isolated the XFS codebase from mrlock internals. That way we can kill
mrlock_t entirely once rw_semaphores grow an islocked facility. Also
remove unused flags to the ilock family of functions.SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30902aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
Opencode xfs-kill-xfs_dir_lookup_int here, which gets rid of a lock
roundtrip, and lots of stack space. Also kill the di_mode == 0 check that
has been done in xfs_iget for a few years now.SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30901aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
Similar to rmdir and remove - avoids a potential transaction reservation
overrun.SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30900aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
Unless XFS_IGET_CREATE is passed xfs_iget will return ENOENT if it
encounters an inode with di_mode == 0. Remove the duplicated checks in the
callers.(the log recovery case is not touched for now)
SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30898aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
It's currently used by the ACL code to read di_mode/di_uid, but these are
simple 32bit scalar values we can just read directly without locking.SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30897aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
We can just check i_mode / di_mode directly.
SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30896aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy -
Signed-off-by: Harvey Harrison
Signed-off-by: Linus Torvalds -
drivers/media/video/v4l2-common.c:719:16: warning: Using plain integer as NULL pointer
drivers/media/video/au0828/au0828-dvb.c:122:19: warning: Using plain integer as NULL pointer
drivers/media/video/ivtv/ivtv-yuv.c:1101:22: warning: Using plain integer as NULL pointer
drivers/media/video/ivtv/ivtv-yuv.c:1102:23: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-audio.c:78:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-video-v4l.c:84:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1264:9: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-context.c:197:28: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:126:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:133:32: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:145:31: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:177:55: warning: Using plain integer as NULL pointer
drivers/media/video/videobuf-core.c:100:9: warning: Using plain integer as NULL pointerSigned-off-by: Harvey Harrison
Signed-off-by: Linus Torvalds -
drivers/scsi/aic7xxx/aic7770_osm.c:53:58: warning: Using plain integer as NULL pointer
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:355:47: warning: Using plain integer as NULL pointer
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:372:55: warning: Using plain integer as NULL pointer
drivers/scsi/aha152x.c:997:28: warning: Using plain integer as NULL pointer
drivers/scsi/aha152x.c:1003:28: warning: Using plain integer as NULL pointer
drivers/scsi/aha152x.c:1165:46: warning: Using plain integer as NULL pointer
drivers/scsi/fdomain.c:1446:40: warning: Using plain integer as NULL pointer
drivers/scsi/sym53c8xx_2/sym_hipd.c:1650:51: warning: Using plain integer as NULL pointer
drivers/scsi/sym53c8xx_2/sym_hipd.c:3171:42: warning: Using plain integer as NULL pointer
drivers/scsi/sym53c8xx_2/sym_hipd.c:5732:52: warning: Using plain integer as NULL pointer
drivers/scsi/ncr53c8xx.c:8189:31: warning: Using plain integer as NULL pointer
drivers/scsi/ncr53c8xx.c:8225:34: warning: Using plain integer as NULL pointer
drivers/scsi/dpt_i2o.c:156:32: warning: Using plain integer as NULL pointer
drivers/scsi/ultrastor.c:954:42: warning: Using plain integer as NULL pointer
drivers/scsi/ultrastor.c:1104:18: warning: Using plain integer as NULL pointerSigned-off-by: Harvey Harrison
Signed-off-by: Linus Torvalds -
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (35 commits)
siimage: coding style cleanup (take 2)
ide-cd: clean up cdrom_analyze_sense_data()
ide-cd: fix test unsigned var < 0
ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]
piix: add Asus Eee 701 controller to short cable list
ARM: always select HAVE_IDE
remove the broken ETRAX_IDE driver
ide: remove ->dma_prdtable field from ide_hwif_t
ide: remove ->dma_vendor{1,3} fields from ide_hwif_t
scc_pata: add ->dma_host_set and ->dma_start methods
ide: skip "VLB sync" if host uses MMIO
ide: add ide_pad_transfer() helper
ide: remove ->INW and ->OUTW methods
ide: use IDE I/O helpers directly in ide_tf_{load,read}()
ns87415: add ->tf_read method
scc_pata: add ->tf_{load,read} methods
ide-h8300: add ->tf_{load,read} methods
ide-cris: add ->tf_{load,read} methods
ide: add ->tf_load and ->tf_read methods
ide: move ide_tf_{load,read} to ide-iops.c
... -
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
kconfig: add named choice group
kconfig: fix choice dependency check
kconifg: 'select' considered less evil
dontdiff: ignore timeconst.h
dontdiff: add modules.order
kbuild: fix unportability in gen_initramfs_list.sh
kbuild: fix help output to show correct arch
kbuild: show defconfig subdirs in make help
kconfig: reversed borderlines in inputbox -
drivers/atm/nicstar.c:418:25: warning: Using plain integer as NULL pointer
drivers/char/drm/r128_cce.c:820:25: warning: Using plain integer as NULL pointer
drivers/char/tty_io.c:1183:10: warning: Using plain integer as NULL pointerSigned-off-by: Harvey Harrison
Signed-off-by: Linus Torvalds -
mm/hugetlb.c:207:11: warning: Using plain integer as NULL pointer
Signed-off-by: Harvey Harrison
Signed-off-by: Linus Torvalds -
kernel/cpuset.c:1268:52: warning: Using plain integer as NULL pointer
kernel/pid_namespace.c:95:24: warning: Using plain integer as NULL pointerSigned-off-by: Harvey Harrison
Reviewed-by: Paul Jackson
Signed-off-by: Linus Torvalds -
init/do_mounts_rd.c:215:13: warning: Using plain integer as NULL pointer
init/do_mounts_md.c:136:45: warning: Using plain integer as NULL pointerSigned-off-by: Harvey Harrison
Signed-off-by: Linus Torvalds -
Fix 18 errors and several warnings given by checkpatch.pl:
- use of C99 // comments;
- trailing whitespace;
- 'switch' and 'case' not at the same indentation level;
- no space before the open parenthesis of the 'if' and 'switch' statements;
- space between function name and open parenthesis (though I have introduced
such warnins in some places since the code looks prettier with the spaces);- including instead of ;
- line over 80 characters.
In addition to these changes, also do the following:
- make the arrays in sil_set_pio_mode() 'static', and make the arrays in
sil_set_dma_mode() 'static const';- change the string of the 'if' statements into the 'switch' statement in
sil_pata_udma_filter();- drop the needless '==' operators from the 'if' statements where a condition
is a mere bit test;- remove needless initializer for the 'tmp' variable in init_chipset_siimage();
- beautify groups of the variable initializers and assignment operators;
- add new line after variable definitions;
- remove new line between the comment and the statements it refers to;
- remove needless curly braces and parentheses;
- fix typos, capitalize acronyms, etc. in the comments...
Signed-off-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
[bart: fix handling of bio_sectors(failed_command->bio) == 0]
Signed-off-by: Roel Kluin
Cc: Borislav Petkov
Signed-off-by: Bartlomiej Zolnierkiewicz -
valid is unsigned and cannot be below 0.
Signed-off-by: Roel Kluin
Cc: Borislav Petkov
Signed-off-by: Bartlomiej Zolnierkiewicz -
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Based on ata_piix patch by Dan McGee.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
It's plain wrong for PCMCIA to select HAVE_IDE that implies e.g. the
availability of an asm/ide.hIt turns out this was done for ARM, and we can simply always select
HAVE_IDE on ARM instead of manually tracking which platforms might
possible have an IDE controller directly or indirectly.Signed-off-by: Adrian Bunk
Cc: Russell King
Cc: Sam Ravnborg
Signed-off-by: Bartlomiej Zolnierkiewicz -
ETRAX_IDE was marked as broken last year with the comment
"it doesn't even compile currently".Remove it since it won't get fixed in the near future.
On Mon, Apr 14, 2008 at 02:50:19PM +0200, Mikael Starvik wrote:
> You can remove it for now and we will resubmit a new if/when we get around
> to fix it.[bart: ported it over IDE tree]
Signed-off-by: Adrian Bunk
Cc: Mikael Starvik
Cc: Jesper Nilsson
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Use 'hwif->dma_base + {4,8}' instead of hwif->dma_prdtable in
{ide,scc}_dma_setup().* Remove no longer needed ->dma_prdtable field from ide_hwif_t.
While at it:
* Use ATA_DMA_TABLE_OFS define.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Use 'hwif->dma_base + {1,3}' instead of hwif->dma_vendor{1,3} in
pdc202xx_new host driver.* Remove no longer needed ->dma_vendor{1,3} fields from ide_hwif_t.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
Add ->dma_host_set and ->dma_start methods (+ __scc_dma_end() helper)
so scc_ide_{in,out}b() can be used directly.There should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Skip "VLB sync" in ata_{in,out}put_data() if host uses MMIO.
* Use I/O ops directly in ata_vlb_sync() an drop no longer needed
'ide_drive_t *drive' argument.Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Add ide_pad_transfer() helper (which uses ->{in,out}put_data methods
internally so the transfer is also padded to drive+host requirements)
and use it instead of ide_atapi_{write_zeros,discard_data}().* Remove no longer needed ide_atapi_{write_zeros,discard_data}().
Cc: Borislav Petkov
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
* Remove no longer used ->INW and ->OUTW methods.
While at it:
* scc_pata.c: scc_ide_{out,in}w() is called only in scc_tf_{load,read}()
so inline it there.Signed-off-by: Bartlomiej Zolnierkiewicz
-
There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Add ->tf_read method so out{b,w}(), in{b,w}() and superio_ide_inb()
can be used directly.There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Add ->tf_{load,read} methods so scc_ide_{outb,outw,inb,inw}()
can be used directly.There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Add ->tf_{load,read} methods so outb()/inb() and mm_outw()/mm_inw()
can be used directly.There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
Add ->tf_{load,read} methods so cris_ide_{outb,outw,inb,inw}()
can be used directly.There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz
-
* Add ->tf_load and ->tf_read methods to ide_hwif_t and set the default
methods in default_hwif_transport().* Use ->tf_{load,read} instead o calling ide_tf_{load,read}() directly.
* Make ide_tf_{load,read}() static.
There should be no functional changes caused by this patch.
Acked-by: Sergei Shtylyov
Signed-off-by: Bartlomiej Zolnierkiewicz -
Signed-off-by: Bartlomiej Zolnierkiewicz