]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
15 years agojbd: fix error handling for checkpoint io
Hidehiro Kawai [Wed, 22 Oct 2008 21:15:00 +0000 (14:15 -0700)]
jbd: fix error handling for checkpoint io

When a checkpointing IO fails, current JBD code doesn't check the error
and continue journaling.  This means latest metadata can be lost from both
the journal and filesystem.

This patch leaves the failed metadata blocks in the journal space and
aborts journaling in the case of log_do_checkpoint().  To achieve this, we
need to do:

1. don't remove the failed buffer from the checkpoint list where in
   the case of __try_to_free_cp_buf() because it may be released or
   overwritten by a later transaction
2. log_do_checkpoint() is the last chance, remove the failed buffer
   from the checkpoint list and abort the journal
3. when checkpointing fails, don't update the journal super block to
   prevent the journaled contents from being cleaned.  For safety,
   don't update j_tail and j_tail_sequence either
4. when checkpointing fails, notify this error to the ext3 layer so
   that ext3 don't clear the needs_recovery flag, otherwise the
   journaled contents are ignored and cleaned in the recovery phase
5. if the recovery fails, keep the needs_recovery flag
6. prevent cleanup_journal_tail() from being called between
   __journal_drop_transaction() and journal_abort() (a race issue
   between journal_flush() and __log_wait_for_space()

Signed-off-by: Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Acked-by: Jan Kara <jack@suse.cz>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoprofiling: fix up CONFIG_PROC_FS=n build
Paul Mundt [Wed, 22 Oct 2008 21:14:59 +0000 (14:14 -0700)]
profiling: fix up CONFIG_PROC_FS=n build

In the case where procfs is disabled, create_proc_profile() does not
exist. Stub it in with the others.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agomm: page_cgroup needs linux/vmalloc.h for vmalloc_node()/vfree().
Paul Mundt [Wed, 22 Oct 2008 21:14:58 +0000 (14:14 -0700)]
mm: page_cgroup needs linux/vmalloc.h for vmalloc_node()/vfree().

mm/page_cgroup.c: In function 'init_section_page_cgroup':
mm/page_cgroup.c:111: error: implicit declaration of function 'vmalloc_node'
mm/page_cgroup.c:111: warning: assignment makes pointer from integer without a cast
mm/page_cgroup.c: In function '__free_page_cgroup':
mm/page_cgroup.c:140: error: implicit declaration of function 'vfree'

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Linus Torvalds [Thu, 23 Oct 2008 15:28:25 +0000 (08:28 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (53 commits)
  powerpc: Support for relocatable kdump kernel
  powerpc: Don't use a 16G page if beyond mem= limits
  powerpc: Add del_node() for early boot code to prune inapplicable devices.
  powerpc: Further compile fixup for STRICT_MM_TYPECHECKS
  powerpc: Remove empty #else from signal_64.c
  powerpc: Move memory size print into common show_cpuinfo for 32-bit
  hvc_console: Remove __devexit annotation of hvc_remove()
  hvc_console: Add support for tty window resizing
  hvc_console: Fix loop if put_char() returns 0
  hvc_console: Add tty driver flag TTY_DRIVER_RESET_TERMIOS
  hvc_console: Add a hangup notifier for backends
  powerpc/83xx: Add DS1339 RTC support for MPC8349E-mITX boards .dts
  powerpc/83xx: Add support for MCU microcontroller in .dts files
  powerpc/85xx: Move mpc8572ds.dts to address-cells/size-cells = <2>
  of/spi: Support specifying chip select as active high via device tree
  powerpc: Remove device_type = "board_control" properties in .dts files
  i2c-cpm: Suppress autoprobing for devices
  powerpc/85xx: Fix mpc8536ds dma interrupt numbers
  powerpc/85xx: Enable enhanced functions for 8536 TSEC
  powerpc: Delete unused prom_strtoul and prom_memparse
  ...

15 years agoMerge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb
Linus Torvalds [Thu, 23 Oct 2008 15:20:34 +0000 (08:20 -0700)]
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb

* 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: (47 commits)
  uwb: wrong sizeof argument in mac address compare
  uwb: don't use printk_ratelimit() so often
  uwb: use kcalloc where appropriate
  uwb: use time_after() when purging stale beacons
  uwb: add credits for the original developers of the UWB/WUSB/WLP subsystems
  uwb: add entries in the MAINTAINERS file
  uwb: depend on EXPERIMENTAL
  wusb: wusb-cbaf (CBA driver) sysfs ABI simplification
  uwb: document UWB and WUSB sysfs files
  uwb: add symlinks in sysfs between radio controllers and PALs
  uwb: dont tranmit identification IEs
  uwb: i1480/GUWA100U: fix firmware download issues
  uwb: i1480: remove MAC/PHY information checking function
  uwb: add Intel i1480 HWA to the UWB RC quirk table
  uwb: disable command/event filtering for D-Link DUB-1210
  uwb: initialize the debug sub-system
  uwb: Fix handling IEs with empty IE data in uwb_est_get_size()
  wusb: fix bmRequestType for Abort RPipe request
  wusb: fix error path for wusb_set_dev_addr()
  wusb: add HWA host controller driver
  ...

15 years agoMerge branch 'for-next' of git://git.o-hand.com/linux-mfd
Linus Torvalds [Thu, 23 Oct 2008 15:18:33 +0000 (08:18 -0700)]
Merge branch 'for-next' of git://git.o-hand.com/linux-mfd

* 'for-next' of git://git.o-hand.com/linux-mfd:
  mfd: check for platform_get_irq() return value in sm501
  mfd: use pci_ioremap_bar() in sm501
  mfd: Don't store volatile bits in WM8350 register cache
  mfd: don't export wm3850 static functions
  mfd: twl4030-gpio driver
  mfd: rtc-twl4030 driver
  mfd: twl4030 IRQ handling update

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Thu, 23 Oct 2008 15:16:03 +0000 (08:16 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/ehca: Reject dynamic memory add/remove when ehca adapter is present
  IB/ehca: Fix reported max number of QPs and CQs in systems with >1 adapter
  IPoIB: Set netdev offload features properly for child (VLAN) interfaces
  IPoIB: Clean up ethtool support
  mlx4_core: Add Ethernet PCI device IDs
  mlx4_en: Add driver for Mellanox ConnectX 10GbE NIC
  mlx4_core: Multiple port type support
  mlx4_core: Ethernet MAC/VLAN management
  mlx4_core: Get ethernet MTU and default address from firmware
  mlx4_core: Support multiple pre-reserved QP regions
  Update NetEffect maintainer emails to Intel emails
  RDMA/cxgb3: Remove cmid reference on tid allocation failures
  IB/mad: Use krealloc() to resize snoop table
  IPoIB: Always initialize poll_timer to avoid crash on unload
  IB/ehca: Don't allow creating UC QP with SRQ
  mlx4_core: Add QP range reservation support
  RDMA/ucma: Test ucma_alloc_multicast() return against NULL, not with IS_ERR()

15 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Thu, 23 Oct 2008 15:15:29 +0000 (08:15 -0700)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  sata_via: load DEVICE register when CTL changes
  libata: set device class to NONE if phys_offline
  libata-eh: fix slave link EH action mask handling
  libata: transfer EHI control flags to slave ehc.i
  libata-sff: fix ata_sff_post_internal_cmd()
  libata: initialize port_task when !CONFIG_ATA_SFF

15 years agoMerge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 23 Oct 2008 15:12:21 +0000 (08:12 -0700)]
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] clps711x: add sparsemem definitions
  [ARM] 5315/1: Fix section mismatch warning (sa1111)
  [ARM] Orion: activate workaround for 88f6183 SPI clock erratum
  [ARM] Orion: instantiate the dsa switch driver
  [ARM] mv78xx0: force link speed/duplex on eth2/eth3
  [ARM] remove extra brace in arch/arm/mach-pxa/trizeps4.c
  [ARM] balance parenthesis in header file
  [ARM] pxa: fix trizeps PCMCIA build
  [ARM] pxa: fix trizeps defconfig
  [ARM] dmabounce requires ZONE_DMA
  [ARM] 5303/1: period_cycles should be greater than 1
  [ARM] 5310/1: Fix cache flush functions for ARMv4
  [ARM] pxa: fix 3bca103a1e658d23737d20e1989139d9ca8973bf
  [ARM] pxa: fix redefinition of NR_IRQS
  [ARM] S3C24XX: Fix redefine of DEFINE_TIMER() in s3c24xx pwm-clock.c
  [ARM] S3C2443: Fix HCLK rate
  [ARM] S3C24XX: Serial driver debug depends on DEBUG_LL
  [ARM] S3C24XX: pwm-clock set_parent mask fix

15 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 23 Oct 2008 15:07:35 +0000 (08:07 -0700)]
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (41 commits)
  [IA64] Fix annoying IA64_TR_ALLOC_MAX message.
  [IA64] kill sys32_pipe
  [IA64] remove sys32_pause
  [IA64] Add Variable Page Size and IA64 Support in Intel IOMMU
  ia64/pv_ops: paravirtualized instruction checker.
  ia64/xen: a recipe for using xen/ia64 with pv_ops.
  ia64/pv_ops: update Kconfig for paravirtualized guest and xen.
  ia64/xen: preliminary support for save/restore.
  ia64/xen: define xen machine vector for domU.
  ia64/pv_ops/xen: implement xen pv_time_ops.
  ia64/pv_ops/xen: implement xen pv_irq_ops.
  ia64/pv_ops/xen: define the nubmer of irqs which xen needs.
  ia64/pv_ops/xen: implement xen pv_iosapic_ops.
  ia64/pv_ops/xen: paravirtualize entry.S for ia64/xen.
  ia64/pv_ops/xen: paravirtualize ivt.S for xen.
  ia64/pv_ops/xen: paravirtualize DO_SAVE_MIN for xen.
  ia64/pv_ops/xen: define xen paravirtualized instructions for hand written assembly code
  ia64/pv_ops/xen: define xen pv_cpu_ops.
  ia64/pv_ops/xen: define xen pv_init_ops for various xen initialization.
  ia64/pv_ops/xen: elf note based xen startup.
  ...

15 years agoproc: remove fs/proc/proc_misc.c
Alexey Dobriyan [Mon, 6 Oct 2008 10:49:39 +0000 (14:49 +0400)]
proc: remove fs/proc/proc_misc.c

Now that everything was moved to their more or less expected places,
apply rm(1).

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/vmcore creation to fs/proc/vmcore.c
Alexey Dobriyan [Mon, 6 Oct 2008 10:36:31 +0000 (14:36 +0400)]
proc: move /proc/vmcore creation to fs/proc/vmcore.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move pagecount stuff to fs/proc/page.c
Alexey Dobriyan [Mon, 6 Oct 2008 10:26:12 +0000 (14:26 +0400)]
proc: move pagecount stuff to fs/proc/page.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move all /proc/kcore stuff to fs/proc/kcore.c
Alexey Dobriyan [Mon, 6 Oct 2008 10:14:19 +0000 (14:14 +0400)]
proc: move all /proc/kcore stuff to fs/proc/kcore.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/schedstat boilerplate to kernel/sched_stats.h
Alexey Dobriyan [Mon, 6 Oct 2008 09:23:43 +0000 (13:23 +0400)]
proc: move /proc/schedstat boilerplate to kernel/sched_stats.h

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/modules boilerplate to kernel/module.c
Alexey Dobriyan [Mon, 6 Oct 2008 09:19:27 +0000 (13:19 +0400)]
proc: move /proc/modules boilerplate to kernel/module.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/diskstats boilerplate to block/genhd.c
Alexey Dobriyan [Mon, 6 Oct 2008 08:55:38 +0000 (12:55 +0400)]
proc: move /proc/diskstats boilerplate to block/genhd.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoALSA: ASoC: tlv320aic3x: Fix DSP DAI format and signal polarities matching
Jarkko Nikula [Thu, 23 Oct 2008 11:27:03 +0000 (14:27 +0300)]
ALSA: ASoC: tlv320aic3x: Fix DSP DAI format and signal polarities matching

- Codec doesn't support to configure bit clock and frame sync polarities
- Codec doesn't support DSP_A format but DSP_B with inverted bit clock
  polarity
- Match also other formats with their signal polarities

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoproc: move /proc/zoneinfo boilerplate to mm/vmstat.c
Alexey Dobriyan [Mon, 6 Oct 2008 00:19:42 +0000 (04:19 +0400)]
proc: move /proc/zoneinfo boilerplate to mm/vmstat.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
15 years agoMerge branches 'boards' and 'fixes' of git://git.kernel.org/pub/scm/linux/kernel...
Haavard Skinnemoen [Thu, 23 Oct 2008 13:24:10 +0000 (15:24 +0200)]
Merge branches 'boards' and 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6

15 years agoavr32: Fix GPIO initcall breakage
Haavard Skinnemoen [Thu, 23 Oct 2008 12:42:19 +0000 (14:42 +0200)]
avr32: Fix GPIO initcall breakage

Add essential system devices, including GPIO controllers, automatically
at core_initcall time. This ensures that the devices are there when the
PIO driver gets initialized at postcore_initcall, fixing a bug exposed
by commit d6634db8fe1784d0a8e4e156970fec034708446e "avr32: Use
platform_driver_probe for pio platform driver".

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
15 years agoavr32: Scale loops_per_jiffy when cpu frequency changes
Haavard Skinnemoen [Thu, 23 Oct 2008 09:23:08 +0000 (11:23 +0200)]
avr32: Scale loops_per_jiffy when cpu frequency changes

The loops_per_jiffy variable isn't updated when cpufreq changes the CPU
frequency. This could cause udelay() and friends to produce wrong
delays.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
15 years agoavr32: Fix bug in LCD pin setup on port C
Alex Raimondi [Mon, 13 Oct 2008 14:03:45 +0000 (16:03 +0200)]
avr32: Fix bug in LCD pin setup on port C

Bug was introduced with the new at32_select_periph function.

Signed-off-by: Alex Raimondi <mailinglist@miromico.ch>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
15 years agoproc: move /proc/vmstat boilerplate to mm/vmstat.c
Alexey Dobriyan [Mon, 6 Oct 2008 00:17:48 +0000 (04:17 +0400)]
proc: move /proc/vmstat boilerplate to mm/vmstat.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
15 years agoproc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c
Alexey Dobriyan [Mon, 6 Oct 2008 00:15:36 +0000 (04:15 +0400)]
proc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/buddyinfo boilerplate to mm/vmstat.c
Alexey Dobriyan [Mon, 6 Oct 2008 00:13:52 +0000 (04:13 +0400)]
proc: move /proc/buddyinfo boilerplate to mm/vmstat.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years ago[ARM] 5320/1: fix assembly constraints in implementation of do_div()
Nicolas Pitre [Thu, 23 Oct 2008 03:34:08 +0000 (04:34 +0100)]
[ARM] 5320/1: fix assembly constraints in implementation of do_div()

Those inline assembly segments using the umlal instruction must have
the & modifier so to be sure that a purely input register won't alias
one of the registers used as input+output.  In most cases, the inputs
are still used after the outputs are touched, and most binutil versions
insist on "rdhi, rdlo and rm must all be different" even for ARMv6+.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
15 years agoproc: move /proc/vmallocinfo to mm/vmalloc.c
Alexey Dobriyan [Sun, 5 Oct 2008 23:50:47 +0000 (03:50 +0400)]
proc: move /proc/vmallocinfo to mm/vmalloc.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
15 years agoproc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c
Alexey Dobriyan [Sun, 5 Oct 2008 22:42:17 +0000 (02:42 +0400)]
proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c

Lose dummy ->write hook in case of SLUB, it's possible now.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
15 years agoproc: move /proc/slab_allocators boilerplate to mm/slab.c
Alexey Dobriyan [Sun, 5 Oct 2008 20:59:10 +0000 (00:59 +0400)]
proc: move /proc/slab_allocators boilerplate to mm/slab.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
15 years agoproc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c
Alexey Dobriyan [Sat, 4 Oct 2008 20:08:44 +0000 (00:08 +0400)]
proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/stat to fs/proc/stat.c
Alexey Dobriyan [Sat, 4 Oct 2008 20:01:56 +0000 (00:01 +0400)]
proc: move /proc/stat to fs/proc/stat.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move rest of /proc/partitions code to block/genhd.c
Alexey Dobriyan [Sat, 4 Oct 2008 19:53:21 +0000 (23:53 +0400)]
proc: move rest of /proc/partitions code to block/genhd.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Jens Axboe <jens.axboe@oracle.com>
15 years agoproc: move /proc/cpuinfo code to fs/proc/cpuinfo.c
Alexey Dobriyan [Sat, 4 Oct 2008 19:40:23 +0000 (23:40 +0400)]
proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/devices code to fs/proc/devices.c
Alexey Dobriyan [Sat, 4 Oct 2008 19:11:37 +0000 (23:11 +0400)]
proc: move /proc/devices code to fs/proc/devices.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move rest of /proc/locks to fs/locks.c
Alexey Dobriyan [Sat, 4 Oct 2008 18:34:18 +0000 (22:34 +0400)]
proc: move rest of /proc/locks to fs/locks.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/kmsg creation to fs/proc/kmsg.c
Alexey Dobriyan [Sat, 4 Oct 2008 10:39:12 +0000 (14:39 +0400)]
proc: move /proc/kmsg creation to fs/proc/kmsg.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: remove remnants of ->read_proc in proc_misc.c
Alexey Dobriyan [Sat, 4 Oct 2008 10:30:53 +0000 (14:30 +0400)]
proc: remove remnants of ->read_proc in proc_misc.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/execdomains to kernel/exec_domain.c
Alexey Dobriyan [Sat, 4 Oct 2008 10:28:09 +0000 (14:28 +0400)]
proc: move /proc/execdomains to kernel/exec_domain.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: switch /proc/cmdline to seq_file
Alexey Dobriyan [Sat, 4 Oct 2008 10:13:59 +0000 (14:13 +0400)]
proc: switch /proc/cmdline to seq_file

and move it to fs/proc/cmdline.c while I'm at it.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/filesystems to fs/filesystems.c
Alexey Dobriyan [Sat, 4 Oct 2008 10:08:37 +0000 (14:08 +0400)]
proc: move /proc/filesystems to fs/filesystems.c

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/stram to m68k-specific code
Alexey Dobriyan [Sat, 4 Oct 2008 09:49:34 +0000 (13:49 +0400)]
proc: move /proc/stram to m68k-specific code

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: move /proc/hardware to m68k-specific code
Alexey Dobriyan [Fri, 3 Oct 2008 18:42:36 +0000 (22:42 +0400)]
proc: move /proc/hardware to m68k-specific code

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: switch /proc/version to seq_file
Alexey Dobriyan [Fri, 3 Oct 2008 07:53:19 +0000 (11:53 +0400)]
proc: switch /proc/version to seq_file

and move it to fs/proc/version.c while I'm at it.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: switch /proc/meminfo to seq_file
Alexey Dobriyan [Wed, 15 Oct 2008 19:50:22 +0000 (23:50 +0400)]
proc: switch /proc/meminfo to seq_file

and move it to fs/proc/meminfo.c while I'm at it.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: switch /proc/uptime to seq_file
Alexey Dobriyan [Thu, 2 Oct 2008 22:38:18 +0000 (02:38 +0400)]
proc: switch /proc/uptime to seq_file

and move it to fs/proc/uptime.c while I'm at it.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: switch /proc/loadavg to seq_file
Alexey Dobriyan [Thu, 2 Oct 2008 22:21:47 +0000 (02:21 +0400)]
proc: switch /proc/loadavg to seq_file

and move it to fs/proc/loadavg.c while I'm at it.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: use WARN() rather than printk+backtrace
Arjan van de Ven [Sun, 14 Sep 2008 02:51:30 +0000 (19:51 -0700)]
proc: use WARN() rather than printk+backtrace

Use WARN() rather than a printk() + backtrace();
this gives a more standard format message as well as complete
information (including line numbers etc) that will be collected
by kerneloops.org

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: spread __init
Alexey Dobriyan [Fri, 17 Oct 2008 01:07:44 +0000 (05:07 +0400)]
proc: spread __init

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: proc_init_inodecache() can't fail
Alexey Dobriyan [Thu, 16 Oct 2008 23:43:55 +0000 (03:43 +0400)]
proc: proc_init_inodecache() can't fail

kmem_cache creation code will panic, don't return anything.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years agoproc: fix vma display mismatch between /proc/pid/{maps,smaps}
Joe Korty [Thu, 16 Oct 2008 11:27:09 +0000 (15:27 +0400)]
proc: fix vma display mismatch between /proc/pid/{maps,smaps}

Commit 4752c369789250eafcd7813e11c8fb689235b0d2 aka
"maps4: simplify interdependence of maps and smaps" broke /proc/pid/smaps,
causing it to display some vmas twice and other vmas not at all.  For example:

    grep .- /proc/1/smaps >/tmp/smaps; diff /proc/1/maps /tmp/smaps

    1  25d24
    2  < 7fd7e23aa000-7fd7e23ac000 rw-p 7fd7e23aa000 00:00 0
    3  28a28
    4  > ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0  [vsyscall]

The bug has something to do with setting m->version before all the
seq_printf's have been performed.  show_map was doing this correctly,
but show_smap was doing this in the middle of its seq_printf sequence.
This patch arranges things so that the setting of m->version in show_smap
is also done at the end of its seq_printf sequence.

Testing: in addition to the above grep test, for each process I summed
up the 'Rss' fields of /proc/pid/smaps and compared that to the 'VmRSS'
field of /proc/pid/status.  All matched except for Xorg (which has a
/dev/mem mapping which Rss accounts for but VmRSS does not).  This result
gives us some confidence that neither /proc/pid/maps nor /proc/pid/smaps
are any longer skipping or double-counting vmas.

Signed-off-by: Joe Korty <joe.korty@ccur.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years ago[PATCH] fs: add a sanity check in d_free
Arjan van de Ven [Tue, 21 Oct 2008 13:47:33 +0000 (06:47 -0700)]
[PATCH] fs: add a sanity check in d_free

Hi Al,

remember that debug session we did at KS? You suggested this patch back
then....

From 7751eaf30474b8cbfaea64795805a17eab05ac53 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan@linux.intel.com>
Date: Tue, 16 Sep 2008 16:51:17 -0700
Subject: [PATCH] fs: add a sanity check in d_free

we're seeing some corruption in the dentry->d_alias list that
appears like a free of an entry still on the list; this patch
adds a WARN_ON() to catch this scenario, as suggested by Al Viro

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
15 years ago[PATCH] i_version: remount support
Mimi Zohar [Mon, 13 Oct 2008 04:09:50 +0000 (00:09 -0400)]
[PATCH] i_version: remount support

Add support for remounting a filesystem with the i_version option.

Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
15 years ago[patch] vfs: make security_inode_setattr() calling consistent
Miklos Szeredi [Wed, 30 Jul 2008 12:06:22 +0000 (14:06 +0200)]
[patch] vfs: make security_inode_setattr() calling consistent

Call security_inode_setattr() consistetly before inode_change_ok().
It doesn't make sense to try to "optimize" the i_op->setattr == NULL
case, as most filesystem do define their own setattr function.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
15 years ago[patch 1/3] FS_MBCACHE: don't needlessly make it built-in
Adrian Bunk [Wed, 20 Aug 2008 23:56:22 +0000 (16:56 -0700)]
[patch 1/3] FS_MBCACHE: don't needlessly make it built-in

Assume you have:
- one or more of ext2/3/4 statically built into your kernel
- none of these with extended attributes enabled and
- want to add onother one of ext2/3/4 modular and with
  extended attributes enabled

then you currently have to reboot to use it since this results in
CONFIG_FS_MBCACHE=y.

That's not a common issue, but I just ran into it and since there's no
reason to get a built-in mbcache in this case this patch fixes it.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Andreas Gruenbacher <agruen@suse.de>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
15 years ago[PATCH] move executable checking into ->permission()
Miklos Szeredi [Thu, 31 Jul 2008 11:41:58 +0000 (13:41 +0200)]
[PATCH] move executable checking into ->permission()

For execute permission on a regular files we need to check if file has
any execute bits at all, regardless of capabilites.

This check is normally performed by generic_permission() but was also
added to the case when the filesystem defines its own ->permission()
method.  In the latter case the filesystem should be responsible for
performing this check.

Move the check from inode_permission() inside filesystems which are
not calling generic_permission().

Create a helper function execute_ok() that returns true if the inode
is a directory or if any execute bits are present in i_mode.

Also fix up the following code:

 - coda control file is never executable
 - sysctl files are never executable
 - hfs_permission seems broken on MAY_EXEC, remove
 - hfsplus_permission is eqivalent to generic_permission(), remove

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
15 years ago[PATCH] fs/dcache.c: update comment of d_validate()
Qinghuang Feng [Mon, 13 Oct 2008 10:32:42 +0000 (18:32 +0800)]
[PATCH] fs/dcache.c: update comment of d_validate()

Parameters @hash and @len have been removed since 2.4.3,
now just to delete them.

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
15 years ago[RFC PATCH] touch_mnt_namespace when the mount flags change
Dan Williams [Sat, 27 Sep 2008 02:01:20 +0000 (19:01 -0700)]
[RFC PATCH] touch_mnt_namespace when the mount flags change

Daemons that need to be launched while the rootfs is read-only can now
poll /proc/mounts to be notified when their O_RDWR requests may no
longer end in EROFS.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Neil Brown <neilb@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
15 years ago[PATCH] reiserfs: add missing llseek method
Christoph Hellwig [Mon, 8 Sep 2008 17:42:50 +0000 (19:42 +0200)]
[PATCH] reiserfs: add missing llseek method

Reiserfs currently doesn't set a llseek method for regular files, which
means it will fall back to default_llseek.  This means no one can seek
beyond 2 Gigabytes on reiserfs, and that there's not protection vs
the i_size updates from writers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
15 years ago[PATCH] fix ->llseek for more directories
Christoph Hellwig [Wed, 3 Sep 2008 19:53:01 +0000 (21:53 +0200)]
[PATCH] fix ->llseek for more directories

With this patch all directory fops instances that have a readdir
that doesn't take the BKL are switched to generic_file_llseek.

Signed-off-by: Christoph Hellwig <hch@lst.de>
15 years ago[PATCH vfs-2.6 6/6] vfs: add LOOKUP_RENAME_TARGET intent
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:29 +0000 (07:50 +0900)]
[PATCH vfs-2.6 6/6] vfs: add LOOKUP_RENAME_TARGET intent

This adds LOOKUP_RENAME_TARGET intent for lookup of rename destination.

LOOKUP_RENAME_TARGET is going to be used like LOOKUP_CREATE. But since
the destination of rename() can be existing directory entry, so it has a
difference. Although that difference doesn't matter in my usage, this
tells it to user of this intent.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
15 years ago[PATCH vfs-2.6 5/6] vfs: remove LOOKUP_PARENT from non LOOKUP_PARENT lookup
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:29 +0000 (07:50 +0900)]
[PATCH vfs-2.6 5/6] vfs: remove LOOKUP_PARENT from non LOOKUP_PARENT lookup

lookup_hash() with LOOKUP_PARENT is bogus. And this prepares to add
new intent on those path.

The user of LOOKUP_PARENT intent is nfs only, and it checks whether
nd->flags has LOOKUP_CREATE or LOOKUP_OPEN, so the result is same.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
15 years ago[PATCH vfs-2.6 4/6] vfs: remove unnecessary fsnotify_d_instantiate()
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:29 +0000 (07:50 +0900)]
[PATCH vfs-2.6 4/6] vfs: remove unnecessary fsnotify_d_instantiate()

This calls d_move(), so fsnotify_d_instantiate() is unnecessary like
rename path.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
15 years ago[PATCH vfs-2.6 3/6] vfs: add __d_instantiate() helper
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:28 +0000 (07:50 +0900)]
[PATCH vfs-2.6 3/6] vfs: add __d_instantiate() helper

This adds __d_instantiate() for users which is already taking
dcache_lock, and replace with it.

The part of d_add_ci() isn't equivalent. But it should be needed
fsnotify_d_instantiate() actually, because the path is to add the
inode to negative dentry.  fsnotify_d_instantiate() should be called
after change from negative to positive.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
15 years ago[PATCH vfs-2.6 2/6] vfs: add d_ancestor()
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:28 +0000 (07:50 +0900)]
[PATCH vfs-2.6 2/6] vfs: add d_ancestor()

This adds d_ancestor() instead of d_isparent(), then use it.

If new_dentry == old_dentry, is_subdir() returns 1, looks strange.
"new_dentry == old_dentry" is not subdir obviously. But I'm not
checking callers for now, so this keeps current behavior.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
15 years ago[PATCH vfs-2.6 1/6] vfs: replace parent == dentry->d_parent by IS_ROOT()
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:27 +0000 (07:50 +0900)]
[PATCH vfs-2.6 1/6] vfs: replace parent == dentry->d_parent by IS_ROOT()

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
15 years ago[PATCH] get rid of on-stack dentry in udf
Al Viro [Sun, 12 Oct 2008 04:15:17 +0000 (00:15 -0400)]
[PATCH] get rid of on-stack dentry in udf

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH 2/2] anondev: switch to IDA
Alexey Dobriyan [Thu, 28 Aug 2008 02:26:23 +0000 (06:26 +0400)]
[PATCH 2/2] anondev: switch to IDA

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years ago[PATCH 1/2] anondev: init IDR statically
Alexey Dobriyan [Thu, 28 Aug 2008 02:25:49 +0000 (06:25 +0400)]
[PATCH 1/2] anondev: init IDR statically

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
15 years ago[JFFS2] Use d_splice_alias() not d_add() in jffs2_lookup()
David Woodhouse [Mon, 18 Aug 2008 14:36:47 +0000 (15:36 +0100)]
[JFFS2] Use d_splice_alias() not d_add() in jffs2_lookup()

Now that JFFS2 can be exported by NFS, we need to get this right.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] Optimise NFS readdir hack slightly.
David Woodhouse [Sun, 17 Aug 2008 16:21:18 +0000 (17:21 +0100)]
[PATCH] Optimise NFS readdir hack slightly.

Avoid calling the underlying ->readdir() again when we reached the end
already; keep going round the loop only if we stopped due to our own
buffer being full.

[AV: tidy the things up a bit, while we are there]

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] prepare vfs_readdir() callers to returning filldir result
Al Viro [Sun, 24 Aug 2008 11:29:52 +0000 (07:29 -0400)]
[PATCH] prepare vfs_readdir() callers to returning filldir result

It's not the final state, but it allows moving ->readdir() instances
to passing filldir return value to caller of vfs_readdir().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] get rid of on-stack dentry in ext2_get_parent()
Al Viro [Sun, 24 Aug 2008 11:28:39 +0000 (07:28 -0400)]
[PATCH] get rid of on-stack dentry in ext2_get_parent()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] get rid of on-stack fake dentry in ext3_get_parent()
Al Viro [Sun, 24 Aug 2008 11:26:48 +0000 (07:26 -0400)]
[PATCH] get rid of on-stack fake dentry in ext3_get_parent()

Better pass parent and qstr to ext3_find_entry() explicitly than
use such kludges, especially since the stack footprint is nasty
enough and we have every chance to be deep in call chain.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[JFFS2] Reinstate NFS exportability
David Woodhouse [Thu, 31 Jul 2008 19:39:25 +0000 (20:39 +0100)]
[JFFS2] Reinstate NFS exportability

Now that the readdir/lookup deadlock issues have been dealt with, we can
export JFFS2 file systems again.

(For now, you have to specify fsid manually; we should add a method to
the export_ops to handle that too.)

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] Remove XFS buffered readdir hack
David Woodhouse [Thu, 31 Jul 2008 19:38:04 +0000 (20:38 +0100)]
[PATCH] Remove XFS buffered readdir hack

Now that we've moved the readdir hack to the nfsd code, we can
remove the local version from the XFS code.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] Copy XFS readdir hack into nfsd code.
David Woodhouse [Thu, 31 Jul 2008 19:29:12 +0000 (20:29 +0100)]
[PATCH] Copy XFS readdir hack into nfsd code.

Some file systems with their own internal locking have problems with the
way that nfsd calls the ->lookup() method from within a filldir function
called from their ->readdir() method. The recursion back into the file
system code can cause deadlock.

XFS has a fairly hackish solution to this which involves doing the
readdir() into a locally-allocated buffer, then going back through it
calling the filldir function afterwards. It's not ideal, but it works.

It's particularly suboptimal because XFS does this for local file
systems too, where it's completely unnecessary.

Copy this hack into the NFS code where it can be used only for NFS
export. In response to feedback, use it unconditionally rather than only
for the affected file systems.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] Factor out nfsd_do_readdir() into its own function
David Woodhouse [Thu, 31 Jul 2008 16:16:51 +0000 (17:16 +0100)]
[PATCH] Factor out nfsd_do_readdir() into its own function

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] reduce the stack footprint of exportfs_decode_fh()
Al Viro [Mon, 11 Aug 2008 16:39:47 +0000 (12:39 -0400)]
[PATCH] reduce the stack footprint of exportfs_decode_fh()

no need to have _two_ 256-byte arrays on stack...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] kill d_alloc_anon
Christoph Hellwig [Mon, 11 Aug 2008 13:49:12 +0000 (15:49 +0200)]
[PATCH] kill d_alloc_anon

Remove d_alloc_anon now that no users are left.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] switch all filesystems over to d_obtain_alias
Christoph Hellwig [Mon, 11 Aug 2008 13:49:04 +0000 (15:49 +0200)]
[PATCH] switch all filesystems over to d_obtain_alias

Switch all users of d_alloc_anon to d_obtain_alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] new helper: d_obtain_alias
Christoph Hellwig [Mon, 11 Aug 2008 13:48:57 +0000 (15:48 +0200)]
[PATCH] new helper: d_obtain_alias

The calling conventions of d_alloc_anon are rather unfortunate for all
users, and it's name is not very descriptive either.

Add d_obtain_alias as a new exported helper that drops the inode
reference in the failure case, too and allows to pass-through NULL
pointers and inodes to allow for tail-calls in the export operations.

Incidentally this helper already existed as a private function in
libfs.c as exportfs_d_alloc so kill that one and switch the callers
to d_obtain_alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] generic_file_llseek tidyups
Christoph Hellwig [Mon, 11 Aug 2008 13:37:17 +0000 (15:37 +0200)]
[PATCH] generic_file_llseek tidyups

Add kerneldoc for generic_file_llseek and generic_file_llseek_unlocked,
use sane variable names and unclutter the code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] tidy up chrdev_open
Christoph Hellwig [Mon, 11 Aug 2008 13:34:22 +0000 (15:34 +0200)]
[PATCH] tidy up chrdev_open

Use a single goto label for chrdev_put + return error cases.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] hpfs: cleanup ->setattr
Christoph Hellwig [Sun, 10 Aug 2008 22:27:59 +0000 (00:27 +0200)]
[PATCH] hpfs: cleanup ->setattr

Reformat hpfs_notify_change to standard kernel style to make it readable
and rename it to hpfs_setattr as that's what the method is called.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] dm: kill lookup_device wrapper
Christoph Hellwig [Sun, 10 Aug 2008 22:24:08 +0000 (00:24 +0200)]
[PATCH] dm: kill lookup_device wrapper

Now that lookup_bdev is exported and used by dm just use it directly
instead of through a trivial wrapper.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] make O_EXCL in nd->intent.flags visible in nd->flags
Al Viro [Tue, 5 Aug 2008 07:00:49 +0000 (03:00 -0400)]
[PATCH] make O_EXCL in nd->intent.flags visible in nd->flags

New flag: LOOKUP_EXCL.  Set before doing the final step of pathname
resolution on the paths that have LOOKUP_CREATE and O_EXCL.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] don't pass bogus flags to LOOKUP_PARENT lookup in spufs
Al Viro [Sun, 3 Aug 2008 02:40:42 +0000 (22:40 -0400)]
[PATCH] don't pass bogus flags to LOOKUP_PARENT lookup in spufs

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] get rid of path_lookup_create()
Al Viro [Sun, 3 Aug 2008 02:36:57 +0000 (22:36 -0400)]
[PATCH] get rid of path_lookup_create()

... and don't pass bogus flags when we are just looking for parent.
Fold __path_lookup_intent_open() into path_lookup_open() while we
are at it; that's the only remaining caller.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] get rid of nameidata in audit_tree
Al Viro [Sat, 2 Aug 2008 05:06:21 +0000 (01:06 -0400)]
[PATCH] get rid of nameidata in audit_tree

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] assorted path_lookup() -> kern_path() conversions
Al Viro [Sat, 2 Aug 2008 05:04:36 +0000 (01:04 -0400)]
[PATCH] assorted path_lookup() -> kern_path() conversions

more nameidata eviction

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] switch nfsd to kern_path()
Al Viro [Sat, 2 Aug 2008 05:03:36 +0000 (01:03 -0400)]
[PATCH] switch nfsd to kern_path()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] sanitize svc_export_parse()
Al Viro [Sat, 2 Aug 2008 05:01:02 +0000 (01:01 -0400)]
[PATCH] sanitize svc_export_parse()

clean up the exit paths, get rid of nameidata

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years ago[PATCH] switch quota_on-related stuff to kern_path()
Al Viro [Sat, 2 Aug 2008 04:57:06 +0000 (00:57 -0400)]
[PATCH] switch quota_on-related stuff to kern_path()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
15 years agonet: Fix disjunct computation of netdev features
Herbert Xu [Thu, 23 Oct 2008 08:11:29 +0000 (01:11 -0700)]
net: Fix disjunct computation of netdev features

My change

    commit e2a6b85247aacc52d6ba0d9b37a99b8d1a3e0d83
    net: Enable TSO if supported by at least one device

didn't do what was intended because the netdev_compute_features
function was designed for conjunctions.  So what happened was that
it would simply take the TSO status of the last constituent device.

This patch extends it to support both conjunctions and disjunctions
under the new name of netdev_increment_features.

It also adds a new function netdev_fix_features which does the
sanity checking that usually occurs upon registration.  This ensures
that the computation doesn't result in an illegal combination
since this checking is absent when the change is initiated via
ethtool.

The two users of netdev_compute_features have been converted.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosctp: Fix to handle SHUTDOWN in SHUTDOWN_RECEIVED state
Wei Yongjun [Thu, 23 Oct 2008 08:01:18 +0000 (01:01 -0700)]
sctp: Fix to handle SHUTDOWN in SHUTDOWN_RECEIVED state

Once an endpoint has reached the SHUTDOWN-RECEIVED state,
it MUST NOT send a SHUTDOWN in response to a ULP request.
The Cumulative TSN Ack of the received SHUTDOWN chunk
MUST be processed.

This patch fix to process Cumulative TSN Ack of the received
SHUTDOWN chunk in SHUTDOWN_RECEIVED state.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING state
Wei Yongjun [Thu, 23 Oct 2008 08:00:49 +0000 (01:00 -0700)]
sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING state

If SHUTDOWN is received in SHUTDOWN-PENDING state, enpoint should enter
the SHUTDOWN-RECEIVED state and check the Cumulative TSN Ack field of
the SHUTDOWN chunk (RFC 4960 Section 9.2). If the SHUTDOWN chunk can
acknowledge all of the send DATA chunks, SHUTDOWN-ACK should be sent.

But now endpoint just silently discarded the SHUTDOWN chunk.

SHUTDOWN received in SHUTDOWN-PENDING state can happend when the last
SACK is lost by network, or the SHUTDOWN chunk can acknowledge all of
the received DATA chunks. The packet sequence(SACK lost) is like this:

Endpoint A                       Endpoint B       ULP
(ESTABLISHED)                    (ESTABLISHED)

               <-----------      DATA
                                             <--- shutdown
                                 Enter SHUTDOWN-PENDING state
  SACK         ----lost---->

  SHUTDOWN(*1) ------------>

               <-----------      SHUTDOWN-ACK

 (*1) silently discarded now.

This patch fix to handle SHUTDOWN in SHUTDOWN-PENDING state as the same
as ESTABLISHED state.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodock: make dock driver not a module
Shaohua Li [Sat, 27 Sep 2008 03:10:28 +0000 (11:10 +0800)]
dock: make dock driver not a module

To avoid dock driver is loaded after other drivers like libata, let's
make dock driver not a module.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
15 years agosctp: Add check for the TSN field of the SHUTDOWN chunk
Wei Yongjun [Thu, 23 Oct 2008 08:00:21 +0000 (01:00 -0700)]
sctp: Add check for the TSN field of the SHUTDOWN chunk

If SHUTDOWN chunk is received Cumulative TSN Ack beyond the max tsn currently
send, SHUTDOWN chunk be accepted and the association will be broken. New data
is send, but after received SACK it will be drop because TSN in SACK is less
than the Cumulative TSN, data will be retrans again and again even if correct
SACK is received.

The packet sequence is like this:

Endpoint A                       Endpoint B       ULP
(ESTABLISHED)                    (ESTABLISHED)

               <-----------      DATA (TSN=x-1)

               <-----------      DATA (TSN=x)

  SHUTDOWN     ----------->      (Now Cumulative TSN=x+1000)
  (TSN=x+1000)
               <-----------      DATA (TSN=x+1)

  SACK         ----------->      drop the SACK
  (TSN=x+1)
               <-----------      DATA (TSN=x+1)(retrans)

This patch fix this problem by terminating the association and respond to
the sender with an ABORT.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosctp: Drop ICMP packet too big message with MTU larger than current PMTU
Wei Yongjun [Thu, 23 Oct 2008 07:59:52 +0000 (00:59 -0700)]
sctp: Drop ICMP packet too big message with MTU larger than current PMTU

If ICMP packet too big message is received with MTU larger than current
PMTU, SCTP will still accept this ICMP message and sync the PMTU of assoc
with the wrong MTU.

Endpoing A                 Endpoint B
(ESTABLISHED)              (ESTABLISHED)
ICMP         --------->
(packet too big, MTU too larger)
                           sync PMTU

This patch fixed the problem by drop that ICMP message.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>