git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add 'dmu_tx' kstats entry
[zfs.git]
/
include
/
sys
/
zfs_vfsops.h
diff --git
a/include/sys/zfs_vfsops.h
b/include/sys/zfs_vfsops.h
index
ae5f811
..
7b70f32
100644
(file)
--- a/
include/sys/zfs_vfsops.h
+++ b/
include/sys/zfs_vfsops.h
@@
-43,6
+43,7
@@
struct znode;
typedef struct zfs_sb {
struct super_block *z_sb; /* generic super_block */
typedef struct zfs_sb {
struct super_block *z_sb; /* generic super_block */
+ struct backing_dev_info z_bdi; /* generic backing dev info */
struct zfs_sb *z_parent; /* parent fs */
objset_t *z_os; /* objset reference */
uint64_t z_flags; /* super_block flags */
struct zfs_sb *z_parent; /* parent fs */
objset_t *z_os; /* objset reference */
uint64_t z_flags; /* super_block flags */
@@
-66,7
+67,8
@@
typedef struct zfs_sb {
boolean_t z_unmounted; /* unmounted */
rrwlock_t z_teardown_lock;
krwlock_t z_teardown_inactive_lock;
boolean_t z_unmounted; /* unmounted */
rrwlock_t z_teardown_lock;
krwlock_t z_teardown_inactive_lock;
- list_t z_all_znodes; /* all vnodes in the fs */
+ list_t z_all_znodes; /* all znodes in the fs */
+ uint64_t z_nr_znodes; /* number of znodes in the fs */
kmutex_t z_znodes_lock; /* lock for z_all_znodes */
struct inode *z_ctldir; /* .zfs directory inode */
boolean_t z_show_ctldir; /* expose .zfs in the root dir */
kmutex_t z_znodes_lock; /* lock for z_all_znodes */
struct inode *z_ctldir; /* .zfs directory inode */
boolean_t z_show_ctldir; /* expose .zfs in the root dir */
@@
-75,6
+77,7
@@
typedef struct zfs_sb {
boolean_t z_use_fuids; /* version allows fuids */
boolean_t z_replay; /* set during ZIL replay */
boolean_t z_use_sa; /* version allow system attributes */
boolean_t z_use_fuids; /* version allows fuids */
boolean_t z_replay; /* set during ZIL replay */
boolean_t z_use_sa; /* version allow system attributes */
+ boolean_t z_xattr_sa; /* allow xattrs to be stores as SA */
uint64_t z_version; /* ZPL version */
uint64_t z_shares_dir; /* hidden shares dir */
kmutex_t z_lock;
uint64_t z_version; /* ZPL version */
uint64_t z_shares_dir; /* hidden shares dir */
kmutex_t z_lock;
@@
-110,10
+113,10
@@
typedef struct zfs_sb {
/*
* Allow a maximum number of links. While ZFS does not internally limit
/*
* Allow a maximum number of links. While ZFS does not internally limit
- * this
most Linux filesystems do. It's probably a good idea to limit
- *
this to a large value until it is validated that this is safe
.
+ * this
the inode->i_nlink member is defined as an unsigned int. To be
+ *
safe we use 2^31-1 as the limit
.
*/
*/
-#define ZFS_LINK_MAX
65536
+#define ZFS_LINK_MAX
((1U << 31) - 1U)
/*
* Normal filesystems (those not under .zfs/snapshot) have a total
/*
* Normal filesystems (those not under .zfs/snapshot) have a total
@@
-178,8
+181,14
@@
extern boolean_t zfs_owner_overquota(zfs_sb_t *zsb, struct znode *,
extern boolean_t zfs_fuid_overquota(zfs_sb_t *zsb, boolean_t isgroup,
uint64_t fuid);
extern int zfs_set_version(zfs_sb_t *zsb, uint64_t newvers);
extern boolean_t zfs_fuid_overquota(zfs_sb_t *zsb, boolean_t isgroup,
uint64_t fuid);
extern int zfs_set_version(zfs_sb_t *zsb, uint64_t newvers);
+extern int zfs_get_zplprop(objset_t *os, zfs_prop_t prop,
+ uint64_t *value);
extern int zfs_sb_create(const char *name, zfs_sb_t **zsbp);
extern int zfs_sb_create(const char *name, zfs_sb_t **zsbp);
+extern int zfs_sb_setup(zfs_sb_t *zsb, boolean_t mounting);
extern void zfs_sb_free(zfs_sb_t *zsb);
extern void zfs_sb_free(zfs_sb_t *zsb);
+extern int zfs_sb_prune(struct super_block *sb, unsigned long nr_to_scan,
+ int *objects);
+extern int zfs_sb_teardown(zfs_sb_t *zsb, boolean_t unmounting);
extern int zfs_check_global_label(const char *dsname, const char *hexsl);
extern boolean_t zfs_is_readonly(zfs_sb_t *zsb);
extern int zfs_check_global_label(const char *dsname, const char *hexsl);
extern boolean_t zfs_is_readonly(zfs_sb_t *zsb);