Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
4ad5bd25
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4ad5bd25
编写于
11月 25, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://oss.sgi.com:8090/oss/git/xfs-2.6
上级
cd0cca7b
551c81e2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
31 addition
and
38 deletion
+31
-38
fs/xfs/linux-2.6/xfs_aops.c
fs/xfs/linux-2.6/xfs_aops.c
+6
-7
fs/xfs/xfs_attr_leaf.c
fs/xfs/xfs_attr_leaf.c
+8
-3
fs/xfs/xfs_fsops.c
fs/xfs/xfs_fsops.c
+1
-1
fs/xfs/xfs_iomap.h
fs/xfs/xfs_iomap.h
+1
-1
fs/xfs/xfs_log_priv.h
fs/xfs/xfs_log_priv.h
+12
-24
fs/xfs/xfs_vnodeops.c
fs/xfs/xfs_vnodeops.c
+3
-2
未找到文件。
fs/xfs/linux-2.6/xfs_aops.c
浏览文件 @
4ad5bd25
...
@@ -941,13 +941,12 @@ __linvfs_get_block(
...
@@ -941,13 +941,12 @@ __linvfs_get_block(
int
retpbbm
=
1
;
int
retpbbm
=
1
;
int
error
;
int
error
;
if
(
blocks
)
{
offset
=
blocks
<<
inode
->
i_blkbits
;
/* 64 bit goodness */
size
=
(
ssize_t
)
min_t
(
xfs_off_t
,
offset
,
LONG_MAX
);
}
else
{
size
=
1
<<
inode
->
i_blkbits
;
}
offset
=
(
xfs_off_t
)
iblock
<<
inode
->
i_blkbits
;
offset
=
(
xfs_off_t
)
iblock
<<
inode
->
i_blkbits
;
if
(
blocks
)
size
=
(
ssize_t
)
min_t
(
xfs_off_t
,
LONG_MAX
,
(
xfs_off_t
)
blocks
<<
inode
->
i_blkbits
);
else
size
=
1
<<
inode
->
i_blkbits
;
VOP_BMAP
(
vp
,
offset
,
size
,
VOP_BMAP
(
vp
,
offset
,
size
,
create
?
flags
:
BMAPI_READ
,
&
iomap
,
&
retpbbm
,
error
);
create
?
flags
:
BMAPI_READ
,
&
iomap
,
&
retpbbm
,
error
);
...
@@ -1007,7 +1006,7 @@ __linvfs_get_block(
...
@@ -1007,7 +1006,7 @@ __linvfs_get_block(
ASSERT
(
iomap
.
iomap_bsize
-
iomap
.
iomap_delta
>
0
);
ASSERT
(
iomap
.
iomap_bsize
-
iomap
.
iomap_delta
>
0
);
offset
=
min_t
(
xfs_off_t
,
offset
=
min_t
(
xfs_off_t
,
iomap
.
iomap_bsize
-
iomap
.
iomap_delta
,
iomap
.
iomap_bsize
-
iomap
.
iomap_delta
,
blocks
<<
inode
->
i_blkbits
);
(
xfs_off_t
)
blocks
<<
inode
->
i_blkbits
);
bh_result
->
b_size
=
(
u32
)
min_t
(
xfs_off_t
,
UINT_MAX
,
offset
);
bh_result
->
b_size
=
(
u32
)
min_t
(
xfs_off_t
,
UINT_MAX
,
offset
);
}
}
...
...
fs/xfs/xfs_attr_leaf.c
浏览文件 @
4ad5bd25
...
@@ -310,7 +310,8 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
...
@@ -310,7 +310,8 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
* Fix up the start offset of the attribute fork
* Fix up the start offset of the attribute fork
*/
*/
totsize
-=
size
;
totsize
-=
size
;
if
(
totsize
==
sizeof
(
xfs_attr_sf_hdr_t
)
&&
!
args
->
addname
)
{
if
(
totsize
==
sizeof
(
xfs_attr_sf_hdr_t
)
&&
!
args
->
addname
&&
!
(
mp
->
m_flags
&
XFS_MOUNT_COMPAT_ATTR
))
{
/*
/*
* Last attribute now removed, revert to original
* Last attribute now removed, revert to original
* inode format making all literal area available
* inode format making all literal area available
...
@@ -328,7 +329,8 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
...
@@ -328,7 +329,8 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
xfs_idata_realloc
(
dp
,
-
size
,
XFS_ATTR_FORK
);
xfs_idata_realloc
(
dp
,
-
size
,
XFS_ATTR_FORK
);
dp
->
i_d
.
di_forkoff
=
xfs_attr_shortform_bytesfit
(
dp
,
totsize
);
dp
->
i_d
.
di_forkoff
=
xfs_attr_shortform_bytesfit
(
dp
,
totsize
);
ASSERT
(
dp
->
i_d
.
di_forkoff
);
ASSERT
(
dp
->
i_d
.
di_forkoff
);
ASSERT
(
totsize
>
sizeof
(
xfs_attr_sf_hdr_t
)
||
args
->
addname
);
ASSERT
(
totsize
>
sizeof
(
xfs_attr_sf_hdr_t
)
||
args
->
addname
||
(
mp
->
m_flags
&
XFS_MOUNT_COMPAT_ATTR
));
dp
->
i_afp
->
if_ext_max
=
dp
->
i_afp
->
if_ext_max
=
XFS_IFORK_ASIZE
(
dp
)
/
(
uint
)
sizeof
(
xfs_bmbt_rec_t
);
XFS_IFORK_ASIZE
(
dp
)
/
(
uint
)
sizeof
(
xfs_bmbt_rec_t
);
dp
->
i_df
.
if_ext_max
=
dp
->
i_df
.
if_ext_max
=
...
@@ -737,7 +739,8 @@ xfs_attr_shortform_allfit(xfs_dabuf_t *bp, xfs_inode_t *dp)
...
@@ -737,7 +739,8 @@ xfs_attr_shortform_allfit(xfs_dabuf_t *bp, xfs_inode_t *dp)
+
name_loc
->
namelen
+
name_loc
->
namelen
+
INT_GET
(
name_loc
->
valuelen
,
ARCH_CONVERT
);
+
INT_GET
(
name_loc
->
valuelen
,
ARCH_CONVERT
);
}
}
if
(
bytes
==
sizeof
(
struct
xfs_attr_sf_hdr
))
if
(
!
(
dp
->
i_mount
->
m_flags
&
XFS_MOUNT_COMPAT_ATTR
)
&&
(
bytes
==
sizeof
(
struct
xfs_attr_sf_hdr
)))
return
(
-
1
);
return
(
-
1
);
return
(
xfs_attr_shortform_bytesfit
(
dp
,
bytes
));
return
(
xfs_attr_shortform_bytesfit
(
dp
,
bytes
));
}
}
...
@@ -775,6 +778,8 @@ xfs_attr_leaf_to_shortform(xfs_dabuf_t *bp, xfs_da_args_t *args, int forkoff)
...
@@ -775,6 +778,8 @@ xfs_attr_leaf_to_shortform(xfs_dabuf_t *bp, xfs_da_args_t *args, int forkoff)
goto
out
;
goto
out
;
if
(
forkoff
==
-
1
)
{
if
(
forkoff
==
-
1
)
{
ASSERT
(
!
(
dp
->
i_mount
->
m_flags
&
XFS_MOUNT_COMPAT_ATTR
));
/*
/*
* Last attribute was removed, revert to original
* Last attribute was removed, revert to original
* inode format making all literal area available
* inode format making all literal area available
...
...
fs/xfs/xfs_fsops.c
浏览文件 @
4ad5bd25
...
@@ -550,7 +550,7 @@ xfs_fs_goingdown(
...
@@ -550,7 +550,7 @@ xfs_fs_goingdown(
struct
vfs
*
vfsp
=
XFS_MTOVFS
(
mp
);
struct
vfs
*
vfsp
=
XFS_MTOVFS
(
mp
);
struct
super_block
*
sb
=
freeze_bdev
(
vfsp
->
vfs_super
->
s_bdev
);
struct
super_block
*
sb
=
freeze_bdev
(
vfsp
->
vfs_super
->
s_bdev
);
if
(
sb
)
{
if
(
sb
&&
!
IS_ERR
(
sb
)
)
{
xfs_force_shutdown
(
mp
,
XFS_FORCE_UMOUNT
);
xfs_force_shutdown
(
mp
,
XFS_FORCE_UMOUNT
);
thaw_bdev
(
sb
->
s_bdev
,
sb
);
thaw_bdev
(
sb
->
s_bdev
,
sb
);
}
}
...
...
fs/xfs/xfs_iomap.h
浏览文件 @
4ad5bd25
...
@@ -69,7 +69,7 @@ typedef struct xfs_iomap {
...
@@ -69,7 +69,7 @@ typedef struct xfs_iomap {
xfs_buftarg_t
*
iomap_target
;
xfs_buftarg_t
*
iomap_target
;
xfs_off_t
iomap_offset
;
/* offset of mapping, bytes */
xfs_off_t
iomap_offset
;
/* offset of mapping, bytes */
xfs_off_t
iomap_bsize
;
/* size of mapping, bytes */
xfs_off_t
iomap_bsize
;
/* size of mapping, bytes */
size_t
iomap_delta
;
/* offset into mapping, bytes */
xfs_off_t
iomap_delta
;
/* offset into mapping, bytes */
iomap_flags_t
iomap_flags
;
iomap_flags_t
iomap_flags
;
}
xfs_iomap_t
;
}
xfs_iomap_t
;
...
...
fs/xfs/xfs_log_priv.h
浏览文件 @
4ad5bd25
...
@@ -494,10 +494,8 @@ typedef struct log {
...
@@ -494,10 +494,8 @@ typedef struct log {
#define XLOG_FORCED_SHUTDOWN(log) ((log)->l_flags & XLOG_IO_ERROR)
#define XLOG_FORCED_SHUTDOWN(log) ((log)->l_flags & XLOG_IO_ERROR)
#define XLOG_GRANT_SUB_SPACE(log,bytes,type) \
#define XLOG_GRANT_SUB_SPACE(log,bytes,type) \
xlog_grant_sub_space(log,bytes,type)
{ \
static
inline
void
xlog_grant_sub_space
(
struct
log
*
log
,
int
bytes
,
int
type
)
{
if (type == 'w') { \
if (type == 'w') { \
(log)->l_grant_write_bytes -= (bytes); \
(log)->l_grant_write_bytes -= (bytes); \
if ((log)->l_grant_write_bytes < 0) { \
if ((log)->l_grant_write_bytes < 0) { \
...
@@ -511,13 +509,9 @@ static inline void xlog_grant_sub_space(struct log *log, int bytes, int type)
...
@@ -511,13 +509,9 @@ static inline void xlog_grant_sub_space(struct log *log, int bytes, int type)
(log)->l_grant_reserve_cycle--; \
(log)->l_grant_reserve_cycle--; \
} \
} \
} \
} \
}
}
#define XLOG_GRANT_ADD_SPACE(log,bytes,type) \
#define XLOG_GRANT_ADD_SPACE(log,bytes,type) \
{ \
xlog_grant_add_space(log,bytes,type)
static
inline
void
xlog_grant_add_space
(
struct
log
*
log
,
int
bytes
,
int
type
)
{
if (type == 'w') { \
if (type == 'w') { \
(log)->l_grant_write_bytes += (bytes); \
(log)->l_grant_write_bytes += (bytes); \
if ((log)->l_grant_write_bytes > (log)->l_logsize) { \
if ((log)->l_grant_write_bytes > (log)->l_logsize) { \
...
@@ -531,12 +525,9 @@ xlog_grant_add_space(struct log *log, int bytes, int type)
...
@@ -531,12 +525,9 @@ xlog_grant_add_space(struct log *log, int bytes, int type)
(log)->l_grant_reserve_cycle++; \
(log)->l_grant_reserve_cycle++; \
} \
} \
} \
} \
}
}
#define XLOG_INS_TICKETQ(q, tic) \
#define XLOG_INS_TICKETQ(q, tic) xlog_ins_ticketq(q, tic)
{ \
static
inline
void
xlog_ins_ticketq
(
struct
xlog_ticket
*
q
,
struct
xlog_ticket
*
tic
)
{
\
if (q) { \
if (q) { \
(tic)->t_next = (q); \
(tic)->t_next = (q); \
(tic)->t_prev = (q)->t_prev; \
(tic)->t_prev = (q)->t_prev; \
...
@@ -547,12 +538,9 @@ xlog_ins_ticketq(struct xlog_ticket *q, struct xlog_ticket *tic)
...
@@ -547,12 +538,9 @@ xlog_ins_ticketq(struct xlog_ticket *q, struct xlog_ticket *tic)
(q) = (tic); \
(q) = (tic); \
} \
} \
(tic)->t_flags |= XLOG_TIC_IN_Q; \
(tic)->t_flags |= XLOG_TIC_IN_Q; \
}
}
#define XLOG_DEL_TICKETQ(q, tic) \
#define XLOG_DEL_TICKETQ(q, tic) xlog_del_ticketq(q, tic)
{ \
static
inline
void
xlog_del_ticketq
(
struct
xlog_ticket
*
q
,
struct
xlog_ticket
*
tic
)
{
\
if ((tic) == (tic)->t_next) { \
if ((tic) == (tic)->t_next) { \
(q) = NULL; \
(q) = NULL; \
} else { \
} else { \
...
@@ -562,7 +550,7 @@ xlog_del_ticketq(struct xlog_ticket *q, struct xlog_ticket *tic)
...
@@ -562,7 +550,7 @@ xlog_del_ticketq(struct xlog_ticket *q, struct xlog_ticket *tic)
} \
} \
(tic)->t_next = (tic)->t_prev = NULL; \
(tic)->t_next = (tic)->t_prev = NULL; \
(tic)->t_flags &= ~XLOG_TIC_IN_Q; \
(tic)->t_flags &= ~XLOG_TIC_IN_Q; \
}
}
/* common routines */
/* common routines */
extern
xfs_lsn_t
xlog_assign_tail_lsn
(
struct
xfs_mount
*
mp
);
extern
xfs_lsn_t
xlog_assign_tail_lsn
(
struct
xfs_mount
*
mp
);
...
...
fs/xfs/xfs_vnodeops.c
浏览文件 @
4ad5bd25
...
@@ -3958,8 +3958,9 @@ xfs_finish_reclaim_all(xfs_mount_t *mp, int noblock)
...
@@ -3958,8 +3958,9 @@ xfs_finish_reclaim_all(xfs_mount_t *mp, int noblock)
}
}
}
}
XFS_MOUNT_IUNLOCK
(
mp
);
XFS_MOUNT_IUNLOCK
(
mp
);
xfs_finish_reclaim
(
ip
,
noblock
,
if
(
xfs_finish_reclaim
(
ip
,
noblock
,
XFS_IFLUSH_DELWRI_ELSE_ASYNC
);
XFS_IFLUSH_DELWRI_ELSE_ASYNC
))
delay
(
1
);
purged
=
1
;
purged
=
1
;
break
;
break
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录