Loading fs/ceph/dir.c +15 −2 Original line number Original line Diff line number Diff line Loading @@ -26,8 +26,6 @@ * point by name. * point by name. */ */ const struct inode_operations ceph_dir_iops; const struct file_operations ceph_dir_fops; const struct dentry_operations ceph_dentry_ops; const struct dentry_operations ceph_dentry_ops; /* /* Loading Loading @@ -1335,6 +1333,13 @@ const struct file_operations ceph_dir_fops = { .fsync = ceph_dir_fsync, .fsync = ceph_dir_fsync, }; }; const struct file_operations ceph_snapdir_fops = { .iterate = ceph_readdir, .llseek = ceph_dir_llseek, .open = ceph_open, .release = ceph_release, }; const struct inode_operations ceph_dir_iops = { const struct inode_operations ceph_dir_iops = { .lookup = ceph_lookup, .lookup = ceph_lookup, .permission = ceph_permission, .permission = ceph_permission, Loading @@ -1357,6 +1362,14 @@ const struct inode_operations ceph_dir_iops = { .atomic_open = ceph_atomic_open, .atomic_open = ceph_atomic_open, }; }; const struct inode_operations ceph_snapdir_iops = { .lookup = ceph_lookup, .permission = ceph_permission, .getattr = ceph_getattr, .mkdir = ceph_mkdir, .rmdir = ceph_unlink, }; const struct dentry_operations ceph_dentry_ops = { const struct dentry_operations ceph_dentry_ops = { .d_revalidate = ceph_d_revalidate, .d_revalidate = ceph_d_revalidate, .d_release = ceph_d_release, .d_release = ceph_d_release, Loading fs/ceph/inode.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -82,8 +82,8 @@ struct inode *ceph_get_snapdir(struct inode *parent) inode->i_mode = parent->i_mode; inode->i_mode = parent->i_mode; inode->i_uid = parent->i_uid; inode->i_uid = parent->i_uid; inode->i_gid = parent->i_gid; inode->i_gid = parent->i_gid; inode->i_op = &ceph_dir_iops; inode->i_op = &ceph_snapdir_iops; inode->i_fop = &ceph_dir_fops; inode->i_fop = &ceph_snapdir_fops; ci->i_snap_caps = CEPH_CAP_PIN; /* so we can open */ ci->i_snap_caps = CEPH_CAP_PIN; /* so we can open */ ci->i_rbytes = 0; ci->i_rbytes = 0; return inode; return inode; Loading fs/ceph/super.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -893,7 +893,9 @@ extern void ceph_fill_inline_data(struct inode *inode, struct page *locked_page, int ceph_uninline_data(struct file *filp, struct page *locked_page); int ceph_uninline_data(struct file *filp, struct page *locked_page); /* dir.c */ /* dir.c */ extern const struct file_operations ceph_dir_fops; extern const struct file_operations ceph_dir_fops; extern const struct file_operations ceph_snapdir_fops; extern const struct inode_operations ceph_dir_iops; extern const struct inode_operations ceph_dir_iops; extern const struct inode_operations ceph_snapdir_iops; extern const struct dentry_operations ceph_dentry_ops, ceph_snap_dentry_ops, extern const struct dentry_operations ceph_dentry_ops, ceph_snap_dentry_ops, ceph_snapdir_dentry_ops; ceph_snapdir_dentry_ops; Loading Loading
fs/ceph/dir.c +15 −2 Original line number Original line Diff line number Diff line Loading @@ -26,8 +26,6 @@ * point by name. * point by name. */ */ const struct inode_operations ceph_dir_iops; const struct file_operations ceph_dir_fops; const struct dentry_operations ceph_dentry_ops; const struct dentry_operations ceph_dentry_ops; /* /* Loading Loading @@ -1335,6 +1333,13 @@ const struct file_operations ceph_dir_fops = { .fsync = ceph_dir_fsync, .fsync = ceph_dir_fsync, }; }; const struct file_operations ceph_snapdir_fops = { .iterate = ceph_readdir, .llseek = ceph_dir_llseek, .open = ceph_open, .release = ceph_release, }; const struct inode_operations ceph_dir_iops = { const struct inode_operations ceph_dir_iops = { .lookup = ceph_lookup, .lookup = ceph_lookup, .permission = ceph_permission, .permission = ceph_permission, Loading @@ -1357,6 +1362,14 @@ const struct inode_operations ceph_dir_iops = { .atomic_open = ceph_atomic_open, .atomic_open = ceph_atomic_open, }; }; const struct inode_operations ceph_snapdir_iops = { .lookup = ceph_lookup, .permission = ceph_permission, .getattr = ceph_getattr, .mkdir = ceph_mkdir, .rmdir = ceph_unlink, }; const struct dentry_operations ceph_dentry_ops = { const struct dentry_operations ceph_dentry_ops = { .d_revalidate = ceph_d_revalidate, .d_revalidate = ceph_d_revalidate, .d_release = ceph_d_release, .d_release = ceph_d_release, Loading
fs/ceph/inode.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -82,8 +82,8 @@ struct inode *ceph_get_snapdir(struct inode *parent) inode->i_mode = parent->i_mode; inode->i_mode = parent->i_mode; inode->i_uid = parent->i_uid; inode->i_uid = parent->i_uid; inode->i_gid = parent->i_gid; inode->i_gid = parent->i_gid; inode->i_op = &ceph_dir_iops; inode->i_op = &ceph_snapdir_iops; inode->i_fop = &ceph_dir_fops; inode->i_fop = &ceph_snapdir_fops; ci->i_snap_caps = CEPH_CAP_PIN; /* so we can open */ ci->i_snap_caps = CEPH_CAP_PIN; /* so we can open */ ci->i_rbytes = 0; ci->i_rbytes = 0; return inode; return inode; Loading
fs/ceph/super.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -893,7 +893,9 @@ extern void ceph_fill_inline_data(struct inode *inode, struct page *locked_page, int ceph_uninline_data(struct file *filp, struct page *locked_page); int ceph_uninline_data(struct file *filp, struct page *locked_page); /* dir.c */ /* dir.c */ extern const struct file_operations ceph_dir_fops; extern const struct file_operations ceph_dir_fops; extern const struct file_operations ceph_snapdir_fops; extern const struct inode_operations ceph_dir_iops; extern const struct inode_operations ceph_dir_iops; extern const struct inode_operations ceph_snapdir_iops; extern const struct dentry_operations ceph_dentry_ops, ceph_snap_dentry_ops, extern const struct dentry_operations ceph_dentry_ops, ceph_snap_dentry_ops, ceph_snapdir_dentry_ops; ceph_snapdir_dentry_ops; Loading