Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 8042
b: refs/heads/master
c: a84195f
h: refs/heads/master
v: v3
  • Loading branch information
Arnd Bergmann authored and Paul Mackerras committed Sep 9, 2005
1 parent 4e2e887 commit 24eeeda
Show file tree
Hide file tree
Showing 39 changed files with 541 additions and 1,163 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0b968d23610d65a46299347b141a687e207bd294
refs/heads/master: a84195f36e373001e6eed2e95a5dc1994cf30480
12 changes: 0 additions & 12 deletions trunk/Documentation/filesystems/ntfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -439,18 +439,6 @@ ChangeLog

Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.

2.1.24:
- Support journals ($LogFile) which have been modified by chkdsk. This
means users can boot into Windows after we marked the volume dirty.
The Windows boot will run chkdsk and then reboot. The user can then
immediately boot into Linux rather than having to do a full Windows
boot first before rebooting into Linux and we will recognize such a
journal and empty it as it is clean by definition.
- Support journals ($LogFile) with only one restart page as well as
journals with two different restart pages. We sanity check both and
either use the only sane one or the more recent one of the two in the
case that both are valid.
- Lots of bug fixes and enhancements across the board.
2.1.23:
- Stamp the user space journal, aka transaction log, aka $UsnJrnl, if
it is present and active thus telling Windows and applications using
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/i386/kernel/io_apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -1634,9 +1634,9 @@ void disable_IO_APIC(void)
clear_IO_APIC();

/*
* If the i8259 is routed through an IOAPIC
* If the i82559 is routed through an IOAPIC
* Put that IOAPIC in virtual wire mode
* so legacy interrupts can be delivered.
* so legacy interrups can be delivered.
*/
pin = find_isa_irq_pin(0, mp_ExtINT);
if (pin != -1) {
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/i386/kernel/sigframe.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
struct sigframe
{
char __user *pretcode;
char *pretcode;
int sig;
struct sigcontext sc;
struct _fpstate fpstate;
Expand All @@ -10,10 +10,10 @@ struct sigframe

struct rt_sigframe
{
char __user *pretcode;
char *pretcode;
int sig;
struct siginfo __user *pinfo;
void __user *puc;
struct siginfo *pinfo;
void *puc;
struct siginfo info;
struct ucontext uc;
struct _fpstate fpstate;
Expand Down
28 changes: 21 additions & 7 deletions trunk/arch/ppc64/kernel/bpa_iic.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,25 +205,39 @@ static struct iic_regs __iomem *find_iic(int cpu)
}

#ifdef CONFIG_SMP

/* Use the highest interrupt priorities for IPI */
static inline int iic_ipi_to_irq(int ipi)
{
return IIC_IPI_OFFSET + IIC_NUM_IPIS - 1 - ipi;
}

static inline int iic_irq_to_ipi(int irq)
{
return IIC_NUM_IPIS - 1 - (irq - IIC_IPI_OFFSET);
}

void iic_setup_cpu(void)
{
out_be64(&__get_cpu_var(iic).regs->prio, 0xff);
}

void iic_cause_IPI(int cpu, int mesg)
{
out_be64(&per_cpu(iic, cpu).regs->generate, mesg);
out_be64(&per_cpu(iic, cpu).regs->generate, (IIC_NUM_IPIS - 1 - mesg) << 4);
}

static irqreturn_t iic_ipi_action(int irq, void *dev_id, struct pt_regs *regs)
{

smp_message_recv(irq - IIC_IPI_OFFSET, regs);
smp_message_recv(iic_irq_to_ipi(irq), regs);
return IRQ_HANDLED;
}

static void iic_request_ipi(int irq, const char *name)
static void iic_request_ipi(int ipi, const char *name)
{
int irq;

irq = iic_ipi_to_irq(ipi);
/* IPIs are marked SA_INTERRUPT as they must run with irqs
* disabled */
get_irq_desc(irq)->handler = &iic_pic;
Expand All @@ -233,10 +247,10 @@ static void iic_request_ipi(int irq, const char *name)

void iic_request_IPIs(void)
{
iic_request_ipi(IIC_IPI_OFFSET + PPC_MSG_CALL_FUNCTION, "IPI-call");
iic_request_ipi(IIC_IPI_OFFSET + PPC_MSG_RESCHEDULE, "IPI-resched");
iic_request_ipi(PPC_MSG_CALL_FUNCTION, "IPI-call");
iic_request_ipi(PPC_MSG_RESCHEDULE, "IPI-resched");
#ifdef CONFIG_DEBUGGER
iic_request_ipi(IIC_IPI_OFFSET + PPC_MSG_DEBUGGER_BREAK, "IPI-debug");
iic_request_ipi(PPC_MSG_DEBUGGER_BREAK, "IPI-debug");
#endif /* CONFIG_DEBUGGER */
}
#endif /* CONFIG_SMP */
Expand Down
12 changes: 6 additions & 6 deletions trunk/arch/ppc64/kernel/iomap.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,31 +56,31 @@ EXPORT_SYMBOL(iowrite32);
*/
void ioread8_rep(void __iomem *addr, void *dst, unsigned long count)
{
_insb((u8 __iomem *) addr, dst, count);
_insb((u8 __force *) addr, dst, count);
}
void ioread16_rep(void __iomem *addr, void *dst, unsigned long count)
{
_insw_ns((u16 __iomem *) addr, dst, count);
_insw_ns((u16 __force *) addr, dst, count);
}
void ioread32_rep(void __iomem *addr, void *dst, unsigned long count)
{
_insl_ns((u32 __iomem *) addr, dst, count);
_insl_ns((u32 __force *) addr, dst, count);
}
EXPORT_SYMBOL(ioread8_rep);
EXPORT_SYMBOL(ioread16_rep);
EXPORT_SYMBOL(ioread32_rep);

void iowrite8_rep(void __iomem *addr, const void *src, unsigned long count)
{
_outsb((u8 __iomem *) addr, src, count);
_outsb((u8 __force *) addr, src, count);
}
void iowrite16_rep(void __iomem *addr, const void *src, unsigned long count)
{
_outsw_ns((u16 __iomem *) addr, src, count);
_outsw_ns((u16 __force *) addr, src, count);
}
void iowrite32_rep(void __iomem *addr, const void *src, unsigned long count)
{
_outsl_ns((u32 __iomem *) addr, src, count);
_outsl_ns((u32 __force *) addr, src, count);
}
EXPORT_SYMBOL(iowrite8_rep);
EXPORT_SYMBOL(iowrite16_rep);
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/s390/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ CFLAGS += -m31
AFLAGS += -m31
UTS_MACHINE := s390
STACK_SIZE := 8192
CHECKFLAGS += -D__s390__
endif

ifdef CONFIG_ARCH_S390X
Expand All @@ -29,7 +28,6 @@ CFLAGS += -m64
AFLAGS += -m64
UTS_MACHINE := s390x
STACK_SIZE := 16384
CHECKFLAGS += -D__s390__ -D__s390x__
endif

cflags-$(CONFIG_MARCH_G5) += $(call cc-option,-march=g5)
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/um/Makefile-x86_64
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ START := 0x60000000
#it's needed for headers to work!
CFLAGS += -U__$(SUBARCH)__ -fno-builtin
USER_CFLAGS += -fno-builtin
CHECKFLAGS += -m64

ELF_ARCH := i386:x86-64
ELF_FORMAT := elf64-x86-64
Expand Down
14 changes: 7 additions & 7 deletions trunk/arch/um/kernel/skas/include/uaccess-skas.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@
((unsigned long) (addr) + (size) <= FIXADDR_USER_END) && \
((unsigned long) (addr) + (size) >= (unsigned long)(addr))))

static inline int verify_area_skas(int type, const void __user * addr,
static inline int verify_area_skas(int type, const void * addr,
unsigned long size)
{
return(access_ok_skas(type, addr, size) ? 0 : -EFAULT);
}

extern int copy_from_user_skas(void *to, const void __user *from, int n);
extern int copy_to_user_skas(void __user *to, const void *from, int n);
extern int strncpy_from_user_skas(char *dst, const char __user *src, int count);
extern int __clear_user_skas(void __user *mem, int len);
extern int clear_user_skas(void __user *mem, int len);
extern int strnlen_user_skas(const void __user *str, int len);
extern int copy_from_user_skas(void *to, const void *from, int n);
extern int copy_to_user_skas(void *to, const void *from, int n);
extern int strncpy_from_user_skas(char *dst, const char *src, int count);
extern int __clear_user_skas(void *mem, int len);
extern int clear_user_skas(void *mem, int len);
extern int strnlen_user_skas(const void *str, int len);

#endif

Expand Down
14 changes: 7 additions & 7 deletions trunk/arch/um/kernel/tt/include/uaccess-tt.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ extern unsigned long uml_physmem;
(((unsigned long) (addr) <= ((unsigned long) (addr) + (size))) && \
(under_task_size(addr, size) || is_stack(addr, size))))

static inline int verify_area_tt(int type, const void __user * addr,
static inline int verify_area_tt(int type, const void * addr,
unsigned long size)
{
return(access_ok_tt(type, addr, size) ? 0 : -EFAULT);
Expand All @@ -50,12 +50,12 @@ extern int __do_clear_user(void *mem, size_t len, void **fault_addr,
extern int __do_strnlen_user(const char *str, unsigned long n,
void **fault_addr, void **fault_catcher);

extern int copy_from_user_tt(void *to, const void __user *from, int n);
extern int copy_to_user_tt(void __user *to, const void *from, int n);
extern int strncpy_from_user_tt(char *dst, const char __user *src, int count);
extern int __clear_user_tt(void __user *mem, int len);
extern int clear_user_tt(void __user *mem, int len);
extern int strnlen_user_tt(const void __user *str, int len);
extern int copy_from_user_tt(void *to, const void *from, int n);
extern int copy_to_user_tt(void *to, const void *from, int n);
extern int strncpy_from_user_tt(char *dst, const char *src, int count);
extern int __clear_user_tt(void *mem, int len);
extern int clear_user_tt(void *mem, int len);
extern int strnlen_user_tt(const void *str, int len);

#endif

Expand Down
5 changes: 0 additions & 5 deletions trunk/arch/um/scripts/Makefile.rules
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@ USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file))

$(USER_OBJS) : c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) \
$(CFLAGS_$(notdir $@))
$(USER_OBJS): cmd_checksrc =
$(USER_OBJS): quiet_cmd_checksrc =
$(USER_OBJS): cmd_force_checksrc =
$(USER_OBJS): quiet_cmd_force_checksrc =


# The stubs and unmap.o can't try to call mcount or update basic block data
define unprofile
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/x86_64/kernel/io_apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -1167,9 +1167,9 @@ void disable_IO_APIC(void)
clear_IO_APIC();

/*
* If the i8259 is routed through an IOAPIC
* If the i82559 is routed through an IOAPIC
* Put that IOAPIC in virtual wire mode
* so legacy interrupts can be delivered.
* so legacy interrups can be delivered.
*/
pin = find_isa_irq_pin(0, mp_ExtINT);
if (pin != -1) {
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/char/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ config SERIAL_NONSTANDARD

config COMPUTONE
tristate "Computone IntelliPort Plus serial support"
depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP && (BROKEN || !SPARC32)
---help---
This driver supports the entire family of Intelliport II/Plus
controllers with the exception of the MicroChannel controllers and
Expand Down Expand Up @@ -208,7 +208,7 @@ config SYNCLINK

config SYNCLINKMP
tristate "SyncLink Multiport support"
depends on SERIAL_NONSTANDARD
depends on SERIAL_NONSTANDARD && (BROKEN || !SPARC32)
help
Enable support for the SyncLink Multiport (2 or 4 ports)
serial adapter, running asynchronous and HDLC communications up
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/char/ip2main.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@

#include <linux/vmalloc.h>
#include <linux/init.h>
#include <asm/serial.h>

#include <asm/uaccess.h>

Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/char/synclinkmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
#include <linux/netdevice.h>
#include <linux/vmalloc.h>
#include <linux/init.h>
#include <asm/serial.h>
#include <linux/delay.h>
#include <linux/ioctl.h>

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/pci/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -819,7 +819,7 @@ pci_intx(struct pci_dev *pdev, int enable)
}

if (new != pci_command) {
pci_write_config_word(pdev, PCI_COMMAND, new);
pci_write_config_word(pdev, PCI_COMMAND, pci_command);
}
}

Expand Down
2 changes: 1 addition & 1 deletion trunk/fs/bio.c
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@ struct bio *bio_map_user(request_queue_t *q, struct block_device *bdev,
{
struct sg_iovec iov;

iov.iov_base = (void __user *)uaddr;
iov.iov_base = (__user void *)uaddr;
iov.iov_len = len;

return bio_map_user_iov(q, bdev, &iov, 1, write_to_vm);
Expand Down
70 changes: 0 additions & 70 deletions trunk/fs/ntfs/ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -22,76 +22,6 @@ ToDo/Notes:
- Enable the code for setting the NT4 compatibility flag when we start
making NTFS 1.2 specific modifications.

2.1.24 - Lots of bug fixes and support more clean journal states.

- Support journals ($LogFile) which have been modified by chkdsk. This
means users can boot into Windows after we marked the volume dirty.
The Windows boot will run chkdsk and then reboot. The user can then
immediately boot into Linux rather than having to do a full Windows
boot first before rebooting into Linux and we will recognize such a
journal and empty it as it is clean by definition.
- Support journals ($LogFile) with only one restart page as well as
journals with two different restart pages. We sanity check both and
either use the only sane one or the more recent one of the two in the
case that both are valid.
- Modify fs/ntfs/malloc.h::ntfs_malloc_nofs() to do the kmalloc() based
allocations with __GFP_HIGHMEM, analogous to how the vmalloc() based
allocations are done.
- Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to
ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and
hence cannot fail.
- Use ntfs_malloc_nofs_nofail() in the two critical regions in
fs/ntfs/runlist.c::ntfs_runlists_merge(). This means we no longer
need to panic() if the allocation fails as it now cannot fail.
- Fix two nasty runlist merging bugs that had gone unnoticed so far.
Thanks to Stefano Picerno for the bug report.
- Remove two bogus BUG_ON()s from fs/ntfs/mft.c.
- Fix handling of valid but empty mapping pairs array in
fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress().
- Report unrepresentable inodes during ntfs_readdir() as KERN_WARNING
messages and include the inode number. Thanks to Yura Pakhuchiy for
pointing this out.
- Change ntfs_rl_truncate_nolock() to throw away the runlist if the new
length is zero.
- Add runlist.[hc]::ntfs_rl_punch_nolock() which punches a caller
specified hole into a runlist.
- Fix a bug in fs/ntfs/index.c::ntfs_index_lookup(). When the returned
index entry is in the index root, we forgot to set the @ir pointer in
the index context. Thanks to Yura Pakhuchiy for finding this bug.
- Remove bogus setting of PageError in ntfs_read_compressed_block().
- Add fs/ntfs/attrib.[hc]::ntfs_resident_attr_value_resize().
- Fix a bug in ntfs_map_runlist_nolock() where we forgot to protect
access to the allocated size in the ntfs inode with the size lock.
- Fix ntfs_attr_vcn_to_lcn_nolock() and ntfs_attr_find_vcn_nolock() to
return LCN_ENOENT when there is no runlist and the allocated size is
zero.
- Fix load_attribute_list() to handle the case of a NULL runlist.
- Fix handling of sparse attributes in ntfs_attr_make_non_resident().
- Add BUG() checks to ntfs_attr_make_non_resident() and ntfs_attr_set()
to ensure that these functions are never called for compressed or
encrypted attributes.
- Fix cluster (de)allocators to work when the runlist is NULL and more
importantly to take a locked runlist rather than them locking it
which leads to lock reversal.
- Truncate {a,c,m}time to the ntfs supported time granularity when
updating the times in the inode in ntfs_setattr().
- Fixup handling of sparse, compressed, and encrypted attributes in
fs/ntfs/inode.c::ntfs_read_locked_{,attr_,index_}inode(),
fs/ntfs/aops.c::ntfs_{read,write}page().
- Make ntfs_write_block() not instantiate sparse blocks if they contain
only zeroes.
- Optimize fs/ntfs/aops.c::ntfs_write_block() by extending the page
lock protection over the buffer submission for i/o which allows the
removal of the get_bh()/put_bh() pairs for each buffer.
- Fix fs/ntfs/aops.c::ntfs_{read,write}_block() to handle the case
where a concurrent truncate has truncated the runlist under our feet.
- Fix page_has_buffers()/page_buffers() handling in fs/ntfs/aops.c.
- In fs/ntfs/aops.c::ntfs_end_buffer_async_read(), use a bit spin lock
in the first buffer head instead of a driver global spin lock to
improve scalability.
- Minor fix to error handling and error message display in
fs/ntfs/aops.c::ntfs_prepare_nonresident_write().

2.1.23 - Implement extension of resident files and make writing safe as well as
many bug fixes, cleanups, and enhancements...

Expand Down
2 changes: 1 addition & 1 deletion trunk/fs/ntfs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ntfs-objs := aops.o attrib.o collate.o compress.o debug.o dir.o file.o \
index.o inode.o mft.o mst.o namei.o runlist.o super.o sysctl.o \
unistr.o upcase.o

EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.24\"
EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.23\"

ifeq ($(CONFIG_NTFS_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG
Expand Down
Loading

0 comments on commit 24eeeda

Please sign in to comment.