Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 65115
b: refs/heads/master
c: 1f0cff6
h: refs/heads/master
i:
  65113: ee95cde
  65111: 9d889f7
v: v3
  • Loading branch information
Linus Torvalds committed Sep 22, 2007
1 parent 973e5cd commit b073983
Show file tree
Hide file tree
Showing 21 changed files with 121 additions and 105 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: e5c86b5d4a517d10db89456426590ecba1597f1f
refs/heads/master: 1f0cff6e4d579ab0fe671c02fcd842694e46b90f
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-ep93xx/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ static int ep93xx_gpio_irq_type(unsigned int irq, unsigned int type)
if (line >= 0 && line < 16) {
gpio_line_config(line, GPIO_IN);
} else {
gpio_line_config(EP93XX_GPIO_LINE_F(line), GPIO_IN);
gpio_line_config(EP93XX_GPIO_LINE_F(line-16), GPIO_IN);
}

port = line >> 3;
Expand Down
12 changes: 11 additions & 1 deletion trunk/arch/arm/mm/cache-l2x0.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,17 @@ static void l2x0_inv_range(unsigned long start, unsigned long end)
{
unsigned long addr;

start &= ~(CACHE_LINE_SIZE - 1);
if (start & (CACHE_LINE_SIZE - 1)) {
start &= ~(CACHE_LINE_SIZE - 1);
sync_writel(start, L2X0_CLEAN_INV_LINE_PA, 1);
start += CACHE_LINE_SIZE;
}

if (end & (CACHE_LINE_SIZE - 1)) {
end &= ~(CACHE_LINE_SIZE - 1);
sync_writel(end, L2X0_CLEAN_INV_LINE_PA, 1);
}

for (addr = start; addr < end; addr += CACHE_LINE_SIZE)
sync_writel(addr, L2X0_INV_LINE_PA, 1);
cache_sync();
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/mips/sibyte/bcm1480/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/reboot.h>
Expand All @@ -35,6 +36,7 @@ unsigned int soc_type;
EXPORT_SYMBOL(soc_type);
unsigned int periph_rev;
unsigned int zbbus_mhz;
EXPORT_SYMBOL(zbbus_mhz);

static unsigned int part_type;

Expand Down
8 changes: 0 additions & 8 deletions trunk/arch/x86_64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,6 @@ config ZONE_DMA
bool
default y

config QUICKLIST
bool
default y

config NR_QUICK
int
default 2

config ISA
bool

Expand Down
18 changes: 15 additions & 3 deletions trunk/arch/x86_64/ia32/ia32entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,18 @@
movq %rax,R8(%rsp)
.endm

.macro LOAD_ARGS32 offset
movl \offset(%rsp),%r11d
movl \offset+8(%rsp),%r10d
movl \offset+16(%rsp),%r9d
movl \offset+24(%rsp),%r8d
movl \offset+40(%rsp),%ecx
movl \offset+48(%rsp),%edx
movl \offset+56(%rsp),%esi
movl \offset+64(%rsp),%edi
movl \offset+72(%rsp),%eax
.endm

.macro CFI_STARTPROC32 simple
CFI_STARTPROC \simple
CFI_UNDEFINED r8
Expand Down Expand Up @@ -152,7 +164,7 @@ sysenter_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */
LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
RESTORE_REST
movl %ebp, %ebp
/* no need to do an access_ok check here because rbp has been
Expand Down Expand Up @@ -255,7 +267,7 @@ cstar_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */
LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
RESTORE_REST
movl RSP-ARGOFFSET(%rsp), %r8d
/* no need to do an access_ok check here because r8 has been
Expand Down Expand Up @@ -334,7 +346,7 @@ ia32_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */
LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
RESTORE_REST
jmp ia32_do_syscall
END(ia32_syscall)
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/x86_64/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,6 @@ void cpu_idle (void)
if (__get_cpu_var(cpu_idle_state))
__get_cpu_var(cpu_idle_state) = 0;

check_pgt_cache();
rmb();
idle = pm_idle;
if (!idle)
Expand Down
4 changes: 0 additions & 4 deletions trunk/arch/x86_64/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,10 +232,6 @@ static int putreg(struct task_struct *child,
{
unsigned long tmp;

/* Some code in the 64bit emulation may not be 64bit clean.
Don't take any chances. */
if (test_tsk_thread_flag(child, TIF_IA32))
value &= 0xffffffff;
switch (regno) {
case offsetof(struct user_regs_struct,fs):
if (value && (value & 3) != 3)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86_64/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ void flush_tlb_mm (struct mm_struct * mm)
}
if (!cpus_empty(cpu_mask))
flush_tlb_others(cpu_mask, mm, FLUSH_ALL);
check_pgt_cache();

preempt_enable();
}
EXPORT_SYMBOL(flush_tlb_mm);
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/kvm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ menuconfig VIRTUALIZATION
depends on X86
default y
---help---
Say Y here to get to see options for virtualization guest drivers.
Say Y here to get to see options for using your Linux host to run other
operating systems inside virtual machines (guests).
This option alone does not add any kernel code.

If you say N, all options in this submenu will be skipped and disabled.
Expand Down
33 changes: 19 additions & 14 deletions trunk/fs/ocfs2/aops.c
Original file line number Diff line number Diff line change
Expand Up @@ -930,18 +930,11 @@ static void ocfs2_write_failure(struct inode *inode,
loff_t user_pos, unsigned user_len)
{
int i;
unsigned from, to;
unsigned from = user_pos & (PAGE_CACHE_SIZE - 1),
to = user_pos + user_len;
struct page *tmppage;

ocfs2_zero_new_buffers(wc->w_target_page, user_pos, user_len);

if (wc->w_large_pages) {
from = wc->w_target_from;
to = wc->w_target_to;
} else {
from = 0;
to = PAGE_CACHE_SIZE;
}
ocfs2_zero_new_buffers(wc->w_target_page, from, to);

for(i = 0; i < wc->w_num_pages; i++) {
tmppage = wc->w_pages[i];
Expand Down Expand Up @@ -991,9 +984,6 @@ static int ocfs2_prepare_page_for_write(struct inode *inode, u64 *p_blkno,
map_from = cluster_start;
map_to = cluster_end;
}

wc->w_target_from = map_from;
wc->w_target_to = map_to;
} else {
/*
* If we haven't allocated the new page yet, we
Expand Down Expand Up @@ -1211,18 +1201,33 @@ static int ocfs2_write_cluster_by_desc(struct address_space *mapping,
loff_t pos, unsigned len)
{
int ret, i;
loff_t cluster_off;
unsigned int local_len = len;
struct ocfs2_write_cluster_desc *desc;
struct ocfs2_super *osb = OCFS2_SB(mapping->host->i_sb);

for (i = 0; i < wc->w_clen; i++) {
desc = &wc->w_desc[i];

/*
* We have to make sure that the total write passed in
* doesn't extend past a single cluster.
*/
local_len = len;
cluster_off = pos & (osb->s_clustersize - 1);
if ((cluster_off + local_len) > osb->s_clustersize)
local_len = osb->s_clustersize - cluster_off;

ret = ocfs2_write_cluster(mapping, desc->c_phys,
desc->c_unwritten, data_ac, meta_ac,
wc, desc->c_cpos, pos, len);
wc, desc->c_cpos, pos, local_len);
if (ret) {
mlog_errno(ret);
goto out;
}

len -= local_len;
pos += local_len;
}

ret = 0;
Expand Down
4 changes: 2 additions & 2 deletions trunk/fs/ocfs2/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -491,8 +491,8 @@ int ocfs2_do_extend_allocation(struct ocfs2_super *osb,
goto leave;
}

status = ocfs2_claim_clusters(osb, handle, data_ac, 1,
&bit_off, &num_bits);
status = __ocfs2_claim_clusters(osb, handle, data_ac, 1,
clusters_to_add, &bit_off, &num_bits);
if (status < 0) {
if (status != -ENOSPC)
mlog_errno(status);
Expand Down
4 changes: 1 addition & 3 deletions trunk/fs/ocfs2/localalloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -524,21 +524,19 @@ int ocfs2_reserve_local_alloc_bits(struct ocfs2_super *osb,
int ocfs2_claim_local_alloc_bits(struct ocfs2_super *osb,
handle_t *handle,
struct ocfs2_alloc_context *ac,
u32 min_bits,
u32 bits_wanted,
u32 *bit_off,
u32 *num_bits)
{
int status, start;
struct inode *local_alloc_inode;
u32 bits_wanted;
void *bitmap;
struct ocfs2_dinode *alloc;
struct ocfs2_local_alloc *la;

mlog_entry_void();
BUG_ON(ac->ac_which != OCFS2_AC_USE_LOCAL);

bits_wanted = ac->ac_bits_wanted - ac->ac_bits_given;
local_alloc_inode = ac->ac_inode;
alloc = (struct ocfs2_dinode *) osb->local_alloc_bh->b_data;
la = OCFS2_LOCAL_ALLOC(alloc);
Expand Down
2 changes: 1 addition & 1 deletion trunk/fs/ocfs2/localalloc.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ int ocfs2_reserve_local_alloc_bits(struct ocfs2_super *osb,
int ocfs2_claim_local_alloc_bits(struct ocfs2_super *osb,
handle_t *handle,
struct ocfs2_alloc_context *ac,
u32 min_bits,
u32 bits_wanted,
u32 *bit_off,
u32 *num_bits);

Expand Down
29 changes: 21 additions & 8 deletions trunk/fs/ocfs2/suballoc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1486,21 +1486,21 @@ static inline void ocfs2_block_to_cluster_group(struct inode *inode,
* contig. allocation, set to '1' to indicate we can deal with extents
* of any size.
*/
int ocfs2_claim_clusters(struct ocfs2_super *osb,
handle_t *handle,
struct ocfs2_alloc_context *ac,
u32 min_clusters,
u32 *cluster_start,
u32 *num_clusters)
int __ocfs2_claim_clusters(struct ocfs2_super *osb,
handle_t *handle,
struct ocfs2_alloc_context *ac,
u32 min_clusters,
u32 max_clusters,
u32 *cluster_start,
u32 *num_clusters)
{
int status;
unsigned int bits_wanted = ac->ac_bits_wanted - ac->ac_bits_given;
unsigned int bits_wanted = max_clusters;
u64 bg_blkno = 0;
u16 bg_bit_off;

mlog_entry_void();

BUG_ON(!ac);
BUG_ON(ac->ac_bits_given >= ac->ac_bits_wanted);

BUG_ON(ac->ac_which != OCFS2_AC_USE_LOCAL
Expand Down Expand Up @@ -1557,6 +1557,19 @@ int ocfs2_claim_clusters(struct ocfs2_super *osb,
return status;
}

int ocfs2_claim_clusters(struct ocfs2_super *osb,
handle_t *handle,
struct ocfs2_alloc_context *ac,
u32 min_clusters,
u32 *cluster_start,
u32 *num_clusters)
{
unsigned int bits_wanted = ac->ac_bits_wanted - ac->ac_bits_given;

return __ocfs2_claim_clusters(osb, handle, ac, min_clusters,
bits_wanted, cluster_start, num_clusters);
}

static inline int ocfs2_block_group_clear_bits(handle_t *handle,
struct inode *alloc_inode,
struct ocfs2_group_desc *bg,
Expand Down
11 changes: 11 additions & 0 deletions trunk/fs/ocfs2/suballoc.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,17 @@ int ocfs2_claim_clusters(struct ocfs2_super *osb,
u32 min_clusters,
u32 *cluster_start,
u32 *num_clusters);
/*
* Use this variant of ocfs2_claim_clusters to specify a maxiumum
* number of clusters smaller than the allocation reserved.
*/
int __ocfs2_claim_clusters(struct ocfs2_super *osb,
handle_t *handle,
struct ocfs2_alloc_context *ac,
u32 min_clusters,
u32 max_clusters,
u32 *cluster_start,
u32 *num_clusters);

int ocfs2_free_suballoc_bits(handle_t *handle,
struct inode *alloc_inode,
Expand Down
4 changes: 2 additions & 2 deletions trunk/fs/ocfs2/vote.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ struct ocfs2_vote_msg
{
struct ocfs2_msg_hdr v_hdr;
__be32 v_reserved1;
};
} __attribute__ ((packed));

/* Responses are given these values to maintain backwards
* compatibility with older ocfs2 versions */
Expand All @@ -78,7 +78,7 @@ struct ocfs2_response_msg
{
struct ocfs2_msg_hdr r_hdr;
__be32 r_response;
};
} __attribute__ ((packed));

struct ocfs2_vote_work {
struct list_head w_list;
Expand Down
7 changes: 4 additions & 3 deletions trunk/fs/xfs/xfs_filestream.c
Original file line number Diff line number Diff line change
Expand Up @@ -350,9 +350,10 @@ _xfs_filestream_update_ag(
/* xfs_fstrm_free_func(): callback for freeing cached stream items. */
void
xfs_fstrm_free_func(
xfs_ino_t ino,
fstrm_item_t *item)
unsigned long ino,
void *data)
{
fstrm_item_t *item = (fstrm_item_t *)data;
xfs_inode_t *ip = item->ip;
int ref;

Expand Down Expand Up @@ -438,7 +439,7 @@ xfs_filestream_mount(
grp_count = 10;

err = xfs_mru_cache_create(&mp->m_filestream, lifetime, grp_count,
(xfs_mru_cache_free_func_t)xfs_fstrm_free_func);
xfs_fstrm_free_func);

return err;
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/fs/xfs/xfs_log_recover.c
Original file line number Diff line number Diff line change
Expand Up @@ -1920,9 +1920,9 @@ xlog_recover_do_reg_buffer(
stale_buf = 1;
break;
}
if (be16_to_cpu(dip->di_core.di_mode))
if (dip->di_core.di_mode)
mode_count++;
if (be16_to_cpu(dip->di_core.di_gen))
if (dip->di_core.di_gen)
gen_count++;
}

Expand Down
Loading

0 comments on commit b073983

Please sign in to comment.