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
4e3b28b0
Commit
4e3b28b0
authored
Oct 12, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://oss.sgi.com:8090/xfs-linux-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
ed5c27c6
a788a8ec
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
24 additions
and
14 deletions
+24
-14
fs/xfs/linux-2.6/xfs_ioctl.c
fs/xfs/linux-2.6/xfs_ioctl.c
+4
-2
fs/xfs/linux-2.6/xfs_super.c
fs/xfs/linux-2.6/xfs_super.c
+13
-6
fs/xfs/linux-2.6/xfs_vfs.h
fs/xfs/linux-2.6/xfs_vfs.h
+4
-0
fs/xfs/xfs_fsops.c
fs/xfs/xfs_fsops.c
+1
-4
fs/xfs/xfs_log.c
fs/xfs/xfs_log.c
+1
-1
fs/xfs/xfs_trans.c
fs/xfs/xfs_trans.c
+1
-1
No files found.
fs/xfs/linux-2.6/xfs_ioctl.c
View file @
4e3b28b0
...
@@ -818,13 +818,15 @@ xfs_ioctl(
...
@@ -818,13 +818,15 @@ xfs_ioctl(
if
(
!
capable
(
CAP_SYS_ADMIN
))
if
(
!
capable
(
CAP_SYS_ADMIN
))
return
-
EPERM
;
return
-
EPERM
;
freeze_bdev
(
inode
->
i_sb
->
s_bdev
);
if
(
inode
->
i_sb
->
s_frozen
==
SB_UNFROZEN
)
freeze_bdev
(
inode
->
i_sb
->
s_bdev
);
return
0
;
return
0
;
case
XFS_IOC_THAW
:
case
XFS_IOC_THAW
:
if
(
!
capable
(
CAP_SYS_ADMIN
))
if
(
!
capable
(
CAP_SYS_ADMIN
))
return
-
EPERM
;
return
-
EPERM
;
thaw_bdev
(
inode
->
i_sb
->
s_bdev
,
inode
->
i_sb
);
if
(
inode
->
i_sb
->
s_frozen
!=
SB_UNFROZEN
)
thaw_bdev
(
inode
->
i_sb
->
s_bdev
,
inode
->
i_sb
);
return
0
;
return
0
;
case
XFS_IOC_GOINGDOWN
:
{
case
XFS_IOC_GOINGDOWN
:
{
...
...
fs/xfs/linux-2.6/xfs_super.c
View file @
4e3b28b0
...
@@ -339,16 +339,16 @@ linvfs_write_inode(
...
@@ -339,16 +339,16 @@ linvfs_write_inode(
int
sync
)
int
sync
)
{
{
vnode_t
*
vp
=
LINVFS_GET_VP
(
inode
);
vnode_t
*
vp
=
LINVFS_GET_VP
(
inode
);
int
error
,
flags
=
FLUSH_INODE
;
int
error
=
0
,
flags
=
FLUSH_INODE
;
error
=
0
;
if
(
vp
)
{
if
(
vp
)
{
vn_trace_entry
(
vp
,
__FUNCTION__
,
(
inst_t
*
)
__return_address
);
vn_trace_entry
(
vp
,
__FUNCTION__
,
(
inst_t
*
)
__return_address
);
if
(
sync
)
if
(
sync
)
flags
|=
FLUSH_SYNC
;
flags
|=
FLUSH_SYNC
;
VOP_IFLUSH
(
vp
,
flags
,
error
);
VOP_IFLUSH
(
vp
,
flags
,
error
);
}
}
return
error
;
return
-
error
;
}
}
STATIC
void
STATIC
void
...
@@ -491,8 +491,14 @@ xfssyncd(
...
@@ -491,8 +491,14 @@ xfssyncd(
break
;
break
;
spin_lock
(
&
vfsp
->
vfs_sync_lock
);
spin_lock
(
&
vfsp
->
vfs_sync_lock
);
if
(
!
timeleft
)
{
/*
timeleft
=
(
xfs_syncd_centisecs
*
HZ
)
/
100
;
* We can get woken by laptop mode, to do a sync -
* that's the (only!) case where the list would be
* empty with time remaining.
*/
if
(
!
timeleft
||
list_empty
(
&
vfsp
->
vfs_sync_list
))
{
if
(
!
timeleft
)
timeleft
=
(
xfs_syncd_centisecs
*
HZ
)
/
100
;
INIT_LIST_HEAD
(
&
vfsp
->
vfs_sync_work
.
w_list
);
INIT_LIST_HEAD
(
&
vfsp
->
vfs_sync_work
.
w_list
);
list_add_tail
(
&
vfsp
->
vfs_sync_work
.
w_list
,
list_add_tail
(
&
vfsp
->
vfs_sync_work
.
w_list
,
&
vfsp
->
vfs_sync_list
);
&
vfsp
->
vfs_sync_list
);
...
@@ -595,9 +601,10 @@ linvfs_sync_super(
...
@@ -595,9 +601,10 @@ linvfs_sync_super(
if
(
unlikely
(
laptop_mode
))
{
if
(
unlikely
(
laptop_mode
))
{
int
prev_sync_seq
=
vfsp
->
vfs_sync_seq
;
int
prev_sync_seq
=
vfsp
->
vfs_sync_seq
;
/*
/*
* The disk must be active because we're syncing.
* The disk must be active because we're syncing.
* We schedule syncd now (now that the disk is
* We schedule
xfs
syncd now (now that the disk is
* active) instead of later (when it might not be).
* active) instead of later (when it might not be).
*/
*/
wake_up_process
(
vfsp
->
vfs_sync_task
);
wake_up_process
(
vfsp
->
vfs_sync_task
);
...
...
fs/xfs/linux-2.6/xfs_vfs.h
View file @
4e3b28b0
...
@@ -216,4 +216,8 @@ extern void bhv_insert_all_vfsops(struct vfs *);
...
@@ -216,4 +216,8 @@ extern void bhv_insert_all_vfsops(struct vfs *);
extern
void
bhv_remove_all_vfsops
(
struct
vfs
*
,
int
);
extern
void
bhv_remove_all_vfsops
(
struct
vfs
*
,
int
);
extern
void
bhv_remove_vfsops
(
struct
vfs
*
,
int
);
extern
void
bhv_remove_vfsops
(
struct
vfs
*
,
int
);
#define fs_frozen(vfsp) ((vfsp)->vfs_super->s_frozen)
#define fs_check_frozen(vfsp, level) \
vfs_check_frozen(vfsp->vfs_super, level);
#endif
/* __XFS_VFS_H__ */
#endif
/* __XFS_VFS_H__ */
fs/xfs/xfs_fsops.c
View file @
4e3b28b0
...
@@ -590,9 +590,6 @@ xfs_fs_goingdown(
...
@@ -590,9 +590,6 @@ xfs_fs_goingdown(
xfs_mount_t
*
mp
,
xfs_mount_t
*
mp
,
__uint32_t
inflags
)
__uint32_t
inflags
)
{
{
if
(
!
capable
(
CAP_SYS_ADMIN
))
return
-
EPERM
;
switch
(
inflags
)
{
switch
(
inflags
)
{
case
XFS_FSOP_GOING_FLAGS_DEFAULT
:
{
case
XFS_FSOP_GOING_FLAGS_DEFAULT
:
{
struct
vfs
*
vfsp
=
XFS_MTOVFS
(
mp
);
struct
vfs
*
vfsp
=
XFS_MTOVFS
(
mp
);
...
@@ -602,7 +599,7 @@ xfs_fs_goingdown(
...
@@ -602,7 +599,7 @@ xfs_fs_goingdown(
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
);
}
}
break
;
break
;
}
}
case
XFS_FSOP_GOING_FLAGS_LOGFLUSH
:
case
XFS_FSOP_GOING_FLAGS_LOGFLUSH
:
...
...
fs/xfs/xfs_log.c
View file @
4e3b28b0
...
@@ -811,7 +811,7 @@ xfs_log_need_covered(xfs_mount_t *mp)
...
@@ -811,7 +811,7 @@ xfs_log_need_covered(xfs_mount_t *mp)
xlog_t
*
log
=
mp
->
m_log
;
xlog_t
*
log
=
mp
->
m_log
;
vfs_t
*
vfsp
=
XFS_MTOVFS
(
mp
);
vfs_t
*
vfsp
=
XFS_MTOVFS
(
mp
);
if
(
vfsp
->
vfs_super
->
s_frozen
||
XFS_FORCED_SHUTDOWN
(
mp
)
||
if
(
fs_frozen
(
vfsp
)
||
XFS_FORCED_SHUTDOWN
(
mp
)
||
(
vfsp
->
vfs_flag
&
VFS_RDONLY
))
(
vfsp
->
vfs_flag
&
VFS_RDONLY
))
return
0
;
return
0
;
...
...
fs/xfs/xfs_trans.c
View file @
4e3b28b0
...
@@ -131,7 +131,7 @@ xfs_trans_alloc(
...
@@ -131,7 +131,7 @@ xfs_trans_alloc(
xfs_mount_t
*
mp
,
xfs_mount_t
*
mp
,
uint
type
)
uint
type
)
{
{
vfs_check_frozen
(
XFS_MTOVFS
(
mp
)
->
vfs_super
,
SB_FREEZE_TRANS
);
fs_check_frozen
(
XFS_MTOVFS
(
mp
)
,
SB_FREEZE_TRANS
);
atomic_inc
(
&
mp
->
m_active_trans
);
atomic_inc
(
&
mp
->
m_active_trans
);
return
(
_xfs_trans_alloc
(
mp
,
type
));
return
(
_xfs_trans_alloc
(
mp
,
type
));
...
...
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