Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
4ad5bd25
Commit
4ad5bd25
authored
Nov 25, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://oss.sgi.com:8090/oss/git/xfs-2.6
parents
cd0cca7b
551c81e2
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
31 additions
and
38 deletions
+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
No files found.
fs/xfs/linux-2.6/xfs_aops.c
View file @
4ad5bd25
...
...
@@ -941,13 +941,12 @@ __linvfs_get_block(
int
retpbbm
=
1
;
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
;
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
,
create
?
flags
:
BMAPI_READ
,
&
iomap
,
&
retpbbm
,
error
);
...
...
@@ -1007,7 +1006,7 @@ __linvfs_get_block(
ASSERT
(
iomap
.
iomap_bsize
-
iomap
.
iomap_delta
>
0
);
offset
=
min_t
(
xfs_off_t
,
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
);
}
...
...
fs/xfs/xfs_attr_leaf.c
View file @
4ad5bd25
...
...
@@ -310,7 +310,8 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
* Fix up the start offset of the attribute fork
*/
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
* inode format making all literal area available
...
...
@@ -328,7 +329,8 @@ xfs_attr_shortform_remove(xfs_da_args_t *args)
xfs_idata_realloc
(
dp
,
-
size
,
XFS_ATTR_FORK
);
dp
->
i_d
.
di_forkoff
=
xfs_attr_shortform_bytesfit
(
dp
,
totsize
);
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
=
XFS_IFORK_ASIZE
(
dp
)
/
(
uint
)
sizeof
(
xfs_bmbt_rec_t
);
dp
->
i_df
.
if_ext_max
=
...
...
@@ -737,7 +739,8 @@ xfs_attr_shortform_allfit(xfs_dabuf_t *bp, xfs_inode_t *dp)
+
name_loc
->
namelen
+
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
(
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)
goto
out
;
if
(
forkoff
==
-
1
)
{
ASSERT
(
!
(
dp
->
i_mount
->
m_flags
&
XFS_MOUNT_COMPAT_ATTR
));
/*
* Last attribute was removed, revert to original
* inode format making all literal area available
...
...
fs/xfs/xfs_fsops.c
View file @
4ad5bd25
...
...
@@ -550,7 +550,7 @@ xfs_fs_goingdown(
struct
vfs
*
vfsp
=
XFS_MTOVFS
(
mp
);
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
);
thaw_bdev
(
sb
->
s_bdev
,
sb
);
}
...
...
fs/xfs/xfs_iomap.h
View file @
4ad5bd25
...
...
@@ -69,7 +69,7 @@ typedef struct xfs_iomap {
xfs_buftarg_t
*
iomap_target
;
xfs_off_t
iomap_offset
;
/* offset 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
;
}
xfs_iomap_t
;
...
...
fs/xfs/xfs_log_priv.h
View file @
4ad5bd25
...
...
@@ -494,10 +494,8 @@ typedef struct log {
#define XLOG_FORCED_SHUTDOWN(log) ((log)->l_flags & XLOG_IO_ERROR)
#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
)
{
#define XLOG_GRANT_SUB_SPACE(log,bytes,type) \
{ \
if (type == 'w') { \
(log)->l_grant_write_bytes -= (bytes); \
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)
(log)->l_grant_reserve_cycle--; \
} \
} \
}
#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
)
{
}
#define XLOG_GRANT_ADD_SPACE(log,bytes,type) \
{ \
if (type == 'w') { \
(log)->l_grant_write_bytes += (bytes); \
if ((log)->l_grant_write_bytes > (log)->l_logsize) { \
...
...
@@ -531,12 +525,9 @@ xlog_grant_add_space(struct log *log, int bytes, int type)
(log)->l_grant_reserve_cycle++; \
} \
} \
}
#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
)
{
\
}
#define XLOG_INS_TICKETQ(q, tic) \
{ \
if (q) { \
(tic)->t_next = (q); \
(tic)->t_prev = (q)->t_prev; \
...
...
@@ -547,12 +538,9 @@ xlog_ins_ticketq(struct xlog_ticket *q, struct xlog_ticket *tic)
(q) = (tic); \
} \
(tic)->t_flags |= XLOG_TIC_IN_Q; \
}
#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
)
{
\
}
#define XLOG_DEL_TICKETQ(q, tic) \
{ \
if ((tic) == (tic)->t_next) { \
(q) = NULL; \
} else { \
...
...
@@ -562,7 +550,7 @@ xlog_del_ticketq(struct xlog_ticket *q, struct xlog_ticket *tic)
} \
(tic)->t_next = (tic)->t_prev = NULL; \
(tic)->t_flags &= ~XLOG_TIC_IN_Q; \
}
}
/* common routines */
extern
xfs_lsn_t
xlog_assign_tail_lsn
(
struct
xfs_mount
*
mp
);
...
...
fs/xfs/xfs_vnodeops.c
View file @
4ad5bd25
...
...
@@ -3958,8 +3958,9 @@ xfs_finish_reclaim_all(xfs_mount_t *mp, int noblock)
}
}
XFS_MOUNT_IUNLOCK
(
mp
);
xfs_finish_reclaim
(
ip
,
noblock
,
XFS_IFLUSH_DELWRI_ELSE_ASYNC
);
if
(
xfs_finish_reclaim
(
ip
,
noblock
,
XFS_IFLUSH_DELWRI_ELSE_ASYNC
))
delay
(
1
);
purged
=
1
;
break
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment