unsigned int snap_index;/* which snapshot is ours */
unsigned int snap_table;/* which table do we use */
};
-#define DISK_SNAPTABLE_ATTR "Snaptable"
+#define DISK_SNAPTABLE_ATTR "Snaptable12"
#define DISK_SNAP_TABLE_MAGIC 0x1976
struct snap_disk_table {
unsigned int magic;
int snap_set_indirect(struct inode *pri, ino_t ind_ino,
int index, ino_t parent_ino);
+/*super.c */
+void put_snap_current_mnt(struct super_block *sb);
+void get_snap_current_mnt(struct super_block *sb);
/* inode.c */
extern struct super_operations currentfs_super_ops;
void cleanup_filter_info_cache(void);
int init_filter_info_cache(void);
extern void init_filter_data(struct inode *inode, int flag);
extern void set_filter_ops(struct snap_cache *cache, struct inode *inode);
+extern int currentfs_setxattr(struct dentry *dentry, const char *name,
+ const void *value, size_t size, int flags);
+extern int currentfs_removexattr(struct dentry *dentry, const char *name);
+extern int currentfs_setattr(struct dentry *dentry, struct iattr *attr);
/* dir.c */
extern struct inode_operations currentfs_dir_iops;
extern struct file_operations currentfs_dir_fops;
extern int init_option(char *data);
extern void cleanup_option(void);
extern int get_opt(struct option **opt, char **pos);
+/* clonefs.c */
+int clonefs_mounted(struct snap_cache *cache, int index);
#define FILTER_DID_SUPER_OPS 0x1
#define FILTER_DID_INODE_OPS 0x2
#define FILTER_DID_JOURNAL_OPS 0x100
struct filter_fs {
- int o_flags;
+ unsigned long o_flags;
struct filter_ops o_fops;
struct cache_ops o_caops;
struct journal_ops *o_trops;
dst->i_gid = src->i_gid;
dst->i_mode = src->i_mode;
}
-#ifdef SNAP_DEBUG
+#if 0
extern unsigned int snap_debug_failcode;
#ifdef CONFIG_LOOP_DISCARD
#define BLKDEV_FAIL(dev,fail) loop_discard_io(dev,fail)