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
Kirill Smelkov
linux
Commits
a9218f6b
Commit
a9218f6b
authored
Mar 24, 2008
by
Chris Mason
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add /dev/btrfs-control for device scanning ioctls
Signed-off-by:
Chris Mason
<
chris.mason@oracle.com
>
parent
7d1660d4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
5 deletions
+40
-5
fs/btrfs/extent-tree.c
fs/btrfs/extent-tree.c
+0
-4
fs/btrfs/super.c
fs/btrfs/super.c
+40
-1
No files found.
fs/btrfs/extent-tree.c
View file @
a9218f6b
...
...
@@ -374,10 +374,6 @@ struct btrfs_block_group_cache *btrfs_find_block_group(struct btrfs_root *root,
found_group
=
cache
;
goto
found
;
}
if
(
full_search
)
{
printk
(
"failed on cache %Lu used %Lu total %Lu
\n
"
,
cache
->
key
.
objectid
,
used
,
cache
->
key
.
offset
);
}
cond_resched
();
}
if
(
!
full_search
)
{
...
...
fs/btrfs/super.c
View file @
a9218f6b
...
...
@@ -36,6 +36,7 @@
#include <linux/parser.h>
#include <linux/ctype.h>
#include <linux/namei.h>
#include <linux/miscdevice.h>
#include "ctree.h"
#include "disk-io.h"
#include "transaction.h"
...
...
@@ -444,6 +445,13 @@ static int btrfs_statfs(struct dentry *dentry, struct kstatfs *buf)
return
0
;
}
static
long
btrfs_control_ioctl
(
struct
file
*
file
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
printk
(
"btrfs control ioctl %d
\n
"
,
cmd
);
return
0
;
}
static
struct
file_system_type
btrfs_fs_type
=
{
.
owner
=
THIS_MODULE
,
.
name
=
"btrfs"
,
...
...
@@ -451,6 +459,7 @@ static struct file_system_type btrfs_fs_type = {
.
kill_sb
=
kill_block_super
,
.
fs_flags
=
FS_REQUIRES_DEV
,
};
static
void
btrfs_write_super_lockfs
(
struct
super_block
*
sb
)
{
struct
btrfs_root
*
root
=
btrfs_sb
(
sb
);
...
...
@@ -482,6 +491,30 @@ static struct super_operations btrfs_super_ops = {
.
write_super_lockfs
=
btrfs_write_super_lockfs
,
.
unlockfs
=
btrfs_unlockfs
,
};
static
const
struct
file_operations
btrfs_ctl_fops
=
{
.
unlocked_ioctl
=
btrfs_control_ioctl
,
.
compat_ioctl
=
btrfs_control_ioctl
,
.
owner
=
THIS_MODULE
,
};
static
struct
miscdevice
btrfs_misc
=
{
.
minor
=
MISC_DYNAMIC_MINOR
,
.
name
=
"btrfs-control"
,
.
fops
=
&
btrfs_ctl_fops
};
static
int
btrfs_interface_init
(
void
)
{
return
misc_register
(
&
btrfs_misc
);
}
void
btrfs_interface_exit
(
void
)
{
if
(
misc_deregister
(
&
btrfs_misc
)
<
0
)
printk
(
"misc_deregister failed for control device"
);
}
static
int
__init
init_btrfs_fs
(
void
)
{
int
err
;
...
...
@@ -503,11 +536,16 @@ static int __init init_btrfs_fs(void)
if
(
err
)
goto
free_extent_io
;
err
=
register_filesystem
(
&
btrfs_fs_type
);
err
=
btrfs_interface_init
(
);
if
(
err
)
goto
free_extent_map
;
err
=
register_filesystem
(
&
btrfs_fs_type
);
if
(
err
)
goto
unregister_ioctl
;
return
0
;
unregister_ioctl:
btrfs_interface_exit
();
free_extent_map:
extent_map_exit
();
free_extent_io:
...
...
@@ -526,6 +564,7 @@ static void __exit exit_btrfs_fs(void)
btrfs_destroy_cachep
();
extent_map_exit
();
extent_io_exit
();
btrfs_interface_exit
();
unregister_filesystem
(
&
btrfs_fs_type
);
btrfs_exit_sysfs
();
}
...
...
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