Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 65098
b: refs/heads/master
c: 339c3a6
h: refs/heads/master
v: v3
  • Loading branch information
Ralf Baechle committed Sep 21, 2007
1 parent f7fc153 commit d8c90a1
Show file tree
Hide file tree
Showing 11 changed files with 39 additions and 73 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: 73e83dc300d5f2858c1e3f6bf7fbb1e161a2990c
refs/heads/master: 339c3a6a12faf57c57a23f3d714ce89a831822fc
1 change: 1 addition & 0 deletions trunk/arch/mips/sibyte/bcm1480/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,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
18 changes: 3 additions & 15 deletions trunk/arch/x86_64/ia32/ia32entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,6 @@
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 @@ -164,7 +152,7 @@ sysenter_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
LOAD_ARGS 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 @@ -267,7 +255,7 @@ cstar_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
LOAD_ARGS 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 @@ -346,7 +334,7 @@ ia32_tracesys:
movq $-ENOSYS,RAX(%rsp) /* really needed? */
movq %rsp,%rdi /* &pt_regs -> arg1 */
call syscall_trace_enter
LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
LOAD_ARGS ARGOFFSET /* reload args from stack in case ptrace changed it */
RESTORE_REST
jmp ia32_do_syscall
END(ia32_syscall)
Expand Down
4 changes: 4 additions & 0 deletions trunk/arch/x86_64/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,10 @@ 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
33 changes: 14 additions & 19 deletions trunk/fs/ocfs2/aops.c
Original file line number Diff line number Diff line change
Expand Up @@ -930,11 +930,18 @@ static void ocfs2_write_failure(struct inode *inode,
loff_t user_pos, unsigned user_len)
{
int i;
unsigned from = user_pos & (PAGE_CACHE_SIZE - 1),
to = user_pos + user_len;
unsigned from, to;
struct page *tmppage;

ocfs2_zero_new_buffers(wc->w_target_page, from, to);
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;
}

for(i = 0; i < wc->w_num_pages; i++) {
tmppage = wc->w_pages[i];
Expand Down Expand Up @@ -984,6 +991,9 @@ 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 @@ -1201,33 +1211,18 @@ 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, local_len);
wc, desc->c_cpos, pos, 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,
clusters_to_add, &bit_off, &num_bits);
status = ocfs2_claim_clusters(osb, handle, data_ac, 1,
&bit_off, &num_bits);
if (status < 0) {
if (status != -ENOSPC)
mlog_errno(status);
Expand Down
4 changes: 3 additions & 1 deletion trunk/fs/ocfs2/localalloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -524,19 +524,21 @@ 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 bits_wanted,
u32 min_bits,
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 bits_wanted,
u32 min_bits,
u32 *bit_off,
u32 *num_bits);

Expand Down
29 changes: 8 additions & 21 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 max_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 *cluster_start,
u32 *num_clusters)
{
int status;
unsigned int bits_wanted = max_clusters;
unsigned int bits_wanted = ac->ac_bits_wanted - ac->ac_bits_given;
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,19 +1557,6 @@ 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: 0 additions & 11 deletions trunk/fs/ocfs2/suballoc.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,6 @@ 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

0 comments on commit d8c90a1

Please sign in to comment.