|
Motr
M0
|
#include <linux/version.h>#include <linux/cred.h>#include <linux/uidgid.h>#include <linux/xattr.h>#include "lib/trace.h"#include "lib/misc.h"#include "lib/memory.h"#include "lib/bob.h"#include "fop/fop.h"#include "rpc/rpclib.h"#include "rpc/rpc_opcodes.h"#include "conf/helpers.h"#include "motr/magic.h"#include "layout/layout.h"#include "layout/layout_internal.h"#include "layout/pdclust.h"#include "m0t1fs/linux_kernel/m0t1fs.h"
Go to the source code of this file.
Data Structures | |
| struct | cob_req |
| struct | cob_fop |
Macros | |
| #define | M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_M0T1FS |
Enumerations | |
| enum | { COB_REQ_DEADLINE = 2000000 } |
Functions | |
| static void | cob_rpc_item_cb (struct m0_rpc_item *item) |
| M0_INTERNAL void | m0t1fs_inode_bob_init (struct m0t1fs_inode *bob) |
| M0_INTERNAL bool | m0t1fs_inode_bob_check (struct m0t1fs_inode *bob) |
| static int | file_lock_acquire (struct m0_rm_incoming *rm_in, struct m0t1fs_inode *ci) |
| static void | file_lock_release (struct m0_rm_incoming *rm_in) |
| static int | m0t1fs_component_objects_op (struct m0t1fs_inode *ci, struct m0t1fs_mdop *mop, int(*func)(struct cob_req *, const struct m0t1fs_inode *, const struct m0t1fs_mdop *, int idx)) |
| static int | m0t1fs_ios_cob_create (struct cob_req *cr, const struct m0t1fs_inode *inode, const struct m0t1fs_mdop *mop, int idx) |
| static int | m0t1fs_ios_cob_delete (struct cob_req *cr, const struct m0t1fs_inode *inode, const struct m0t1fs_mdop *mop, int idx) |
| static int | m0t1fs_ios_cob_setattr (struct cob_req *cr, const struct m0t1fs_inode *inode, const struct m0t1fs_mdop *mop, int idx) |
| static int | m0t1fs_ios_cob_truncate (struct cob_req *cr, const struct m0t1fs_inode *inode, const struct m0t1fs_mdop *mop, int idx) |
| static int | name_mem2wire (struct m0_fop_str *tgt, const struct m0_buf *name) |
| static void | body_mem2wire (struct m0_fop_cob *body, const struct m0_cob_attr *attr, int valid) |
| static void | body_wire2mem (struct m0_cob_attr *attr, const struct m0_fop_cob *body) |
| M0_INTERNAL int | m0t1fs_fs_conf_lock (struct m0t1fs_sb *csb) |
| M0_INTERNAL void | m0t1fs_fs_conf_unlock (struct m0t1fs_sb *csb) |
| void | m0t1fs_fid_alloc (struct m0t1fs_sb *csb, struct m0_fid *out) |
| void | m0t1fs_fid_accept (struct m0t1fs_sb *csb, const struct m0_fid *fid) |
| int | m0t1fs_inode_set_layout_id (struct m0t1fs_inode *ci, struct m0t1fs_mdop *mo, int layout_id) |
| int | m0t1fs_setxattr (const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, const char *name, const void *value, size_t size, int flags) int m0t1fs_setxattr(struct dentry *dentry |
| M0_ENTRY ("Setting %.*s's xattr %s=%.*s", dentry->d_name.len,(char *) dentry->d_name.name, name,(int) size,(char *) value) | |
| if (value==NULL) | |
| else | if (m0_streq(name, "writesize")) |
| m0_buf_init & | mo (void *) value, size |
| m0_fop_put0_lock (rep_fop) | |
| return | M0_RC (rc) |
| int | m0t1fs_fid_getxattr (const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) ssize_t m0t1fs_fid_getxattr(struct dentry *dentry |
| return | M0_ERR (-EOPNOTSUPP) |
| int | m0t1fs_getxattr (const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, const char *name, void *buffer, size_t size) ssize_t m0t1fs_getxattr(struct dentry *dentry |
| M0_ENTRY ("Getting %.*s's xattr %s", dentry->d_name.len,(char *) dentry->d_name.name, name) | |
| if (rc !=0) | |
| if (m0_streq(name, "lid")) | |
| if (csb->csb_oostore) | |
| m0_buf_init & | mo (char *) dentry->d_name.name, dentry->d_name.len |
| if (rc==0) | |
| ssize_t | m0t1fs_listxattr (struct dentry *dentry, char *buffer, size_t size) |
| int | m0t1fs_fid_removexattr (struct dentry *dentry, const char *name) |
| int | m0t1fs_removexattr (struct dentry *dentry, const char *name) |
| static int | m0t1fs_fid_create (struct inode *dir, struct dentry *dentry, umode_t mode, bool excl) static int m0t1fs_fid_create(struct inode *dir |
| static int | m0t1fs_fid_check (struct m0_fid *fid) |
| static int | m0t1fs_create (struct inode *dir, struct dentry *dentry, umode_t mode, bool excl) static int m0t1fs_create(struct inode *dir |
| M0_LOG (M0_DEBUG, "Creating \s\in pdir %lu "FID_F,(char *) dentry->d_name.name, dir->i_ino, FID_P(m0t1fs_inode_fid(M0T1FS_I(dir)))) | |
| M0_LOG (M0_DEBUG, "New fid = "FID_F, FID_P(&new_fid)) | |
| if (dir->i_mode &S_ISGID) | |
| if (S_ISDIR(mode)) | |
| M0_LOG (M0_INFO, "Creating \s\with pool version "FID_F,(char *) dentry->d_name.name, FID_P(&ci->ci_pver)) | |
| m0t1fs_file_lock_init (ci, csb) | |
| if (!csb->csb_oostore) | |
| if (S_ISREG(mode) &&csb->csb_oostore) | |
| if (insert_inode_locked4(inode, inode->i_ino, &m0t1fs_inode_test, &gfid)< 0) | |
| unlock_new_inode (inode) | |
| mark_inode_dirty (dir) | |
| d_instantiate (dentry, inode) | |
| m0t1fs_fs_conf_unlock (csb) | |
| if (i_err) | |
| M0_ADDB2_ADD (M0_AVI_FS_CREATE, new_fid.f_container, new_fid.f_key, mode, rc) | |
| static int | m0t1fs_fid_mkdir (struct inode *dir, struct dentry *dentry, umode_t mode) static int m0t1fs_fid_mkdir(struct inode *dir |
| return | m0t1fs_fid_create (dir, dentry, mode|S_IFDIR, NULL) |
| static int | m0t1fs_mkdir (struct inode *dir, struct dentry *dentry, umode_t mode) static int m0t1fs_mkdir(struct inode *dir |
| return | m0t1fs_create (dir, dentry, mode|S_IFDIR, NULL) |
| static struct dentry * | m0t1fs_lookup (struct inode *dir, struct dentry *dentry, unsigned int flags) static struct dentry *m0t1fs_lookup(struct inode *dir |
| m0_addb2_add (M0_AVI_FS_LOOKUP, M0_ADDB2_OBJ(&M0T1FS_I(dir) ->ci_fid)) | |
| if (dentry->d_name.len > csb->csb_namelen) | |
| M0_LOG (M0_INFO, "Name: \s\,(char *) dentry->d_name.name) | |
| if (IS_ERR(inode)) | |
| M0_LEAVE () | |
| return dcache_splice static d_splice_alias(inode, dentry) struct dentry * | m0t1fs_fid_lookup (struct inode *dir, struct dentry *dentry, unsigned int flags) static struct dentry *m0t1fs_fid_lookup(struct inode *dir |
| return | m0t1fs_lookup (dir, dentry, flags) |
| return | m0t1fs_lookup (dir, dentry, nd) |
| struct m0_dirent * | dirent_next (struct m0_dirent *ent) |
| struct m0_dirent * | dirent_first (struct m0_fop_readdir_rep *rep) |
| static int | m0t1fs_opendir (struct inode *inode, struct file *file) |
| static int | m0t1fs_fid_opendir (struct inode *inode, struct file *file) |
| static int | m0t1fs_releasedir (struct inode *inode, struct file *file) |
| static int | m0t1fs_fid_releasedir (struct inode *inode, struct file *file) |
| static int | m0t1fs_fid_readdir (struct file *f, struct dir_context *ctx) |
| static int | m0t1fs_fid_readdir (struct file *f, void *buf, filldir_t filldir) |
| static int | m0t1fs_readdir (struct file *f, struct dir_context *ctx) static int m0t1fs_readdir(struct file *f |
| if (fd->fd_direof) return M0_RC(0) | |
| while (rc==0) | |
| if (++fd->fd_mds_index< csb->csb_pools_common.pc_nr_svcs[M0_CST_MDS]) | |
| static int | m0t1fs_fid_link (struct dentry *old, struct inode *dir, struct dentry *new) |
| static int | m0t1fs_link (struct dentry *old, struct inode *dir, struct dentry *new) |
| static int | m0t1fs_fid_unlink (struct inode *dir, struct dentry *dentry) |
| static int | m0t1fs_unlink (struct inode *dir, struct dentry *dentry) |
| static int | m0t1fs_fid_rmdir (struct inode *dir, struct dentry *dentry) |
| static int | m0t1fs_rmdir (struct inode *dir, struct dentry *dentry) |
| static int | m0t1fs_inode_update_stat (struct inode *inode, struct m0_fop_cob *body, struct kstat *stat) |
| M0_INTERNAL int | m0t1fs_fid_getattr (const struct path *path, struct kstat *stat, uint32_t request_mask, uint32_t query_flags) M0_INTERNAL int m0t1fs_fid_getattr(struct vfsmount *mnt |
| M0_INTERNAL int | m0t1fs_size_update (struct dentry *dentry, uint64_t newsize) |
| M0_INTERNAL int | m0t1fs_fid_setxattr (const struct xattr_handler *handler, struct dentry *dentry, struct inode *inode, const char *name, const void *value, size_t size, int flags) M0_INTERNAL int m0t1fs_fid_setxattr(struct dentry *dentry |
| M0_INTERNAL int | m0t1fs_setattr (struct dentry *dentry, struct iattr *attr) |
| static int | m0t1fs_mds_cob_fop_populate (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop *fop) |
| static int | m0t1fs_mds_cob_op (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop_type *ftype, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_statfs (struct m0t1fs_sb *csb, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_create (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_unlink (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_link (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_lookup (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_getattr (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_setattr (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_readdir (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_setxattr (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_getxattr (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_listxattr (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| int | m0t1fs_mds_cob_delxattr (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mo, struct m0_fop **rep_fop) |
| static int | m0t1fs_ios_cob_fop_populate (struct m0t1fs_sb *csb, const struct m0t1fs_mdop *mop, struct m0_fop *fop, const struct m0_fid *cob_fid, const struct m0_fid *gob_fid, uint32_t cob_idx) |
| static void | cfop_release (struct m0_ref *ref) |
| static int | m0t1fs_ios_cob_op (struct cob_req *cr, const struct m0t1fs_inode *ci, const struct m0t1fs_mdop *mop, int idx, struct m0_fop_type *ftype) |
| M0_INTERNAL int | m0t1fs_cob_getattr (struct inode *inode) |
| M0_INTERNAL int | m0t1fs_cob_setattr (struct inode *inode, struct m0t1fs_mdop *mo) |
Variables | |
| const struct m0_uint128 | m0_rm_m0t1fs_group |
| static const struct m0_rpc_item_ops | cob_item_ops |
| int const char * | name = handler->name |
| int const char const void * | value |
| int const char const void size_t | size |
| int const char const void size_t int | flags |
| struct m0t1fs_sb * | csb = M0T1FS_SB(ci->ci_inode.i_sb) |
| int | layout_id |
| struct m0t1fs_mdop | mo |
| int | rc = m0t1fs_mds_cob_setxattr(csb, &mo, &rep_fop) |
| struct m0_fop * | rep_fop = NULL |
| M0_THREAD_ENTER | |
| else | |
| out | __pad0__ |
| int const char void * | buffer |
| struct m0_fop_getxattr_rep * | rep = NULL |
| mo mo_attr | ca_tfid = *m0t1fs_inode_fid(ci) |
| mo mo_attr | ca_pver = ci->ci_pver |
| static int struct dentry * | dentry = f->f_path.dentry |
| static int struct dentry int | mode |
| static int struct dentry int struct nameidata * | nd |
| struct m0t1fs_inode * | ci = M0T1FS_I(inode) |
| struct inode * | inode = NULL |
| struct m0_fid | new_fid |
| struct m0_fid | gfid |
| struct m0_pool_version * | pv |
| bool | i_err = false |
| inode | i_ino = m0_fid_hash(&gfid) |
| ci | ci_fid = gfid |
| inode | i_mode = mode |
| inode | i_uid = current_fsuid() |
| else inode | i_gid = current_fsgid() |
| inode | i_mtime = inode->i_atime = inode->i_ctime = current_time(inode) |
| inode | i_blocks = 0 |
| inode | i_fop = &m0t1fs_reg_file_operations |
| inode i_mapping | a_ops = &m0t1fs_aops |
| ci | ci_pver = pv->pv_id |
| ci | ci_layout_id = M0_DEFAULT_LAYOUT_ID |
| mo mo_attr | ca_uid = from_kuid(current_user_ns(), inode->i_uid) |
| mo mo_attr | ca_gid = from_kgid(current_user_ns(), inode->i_gid) |
| mo mo_attr | ca_atime = inode->i_atime.tv_sec |
| mo mo_attr | ca_ctime = inode->i_ctime.tv_sec |
| mo mo_attr | ca_mtime = inode->i_mtime.tv_sec |
| mo mo_attr | ca_mode = inode->i_mode |
| mo mo_attr | ca_blocks = inode->i_blocks |
| mo mo_attr | ca_pfid = *m0t1fs_inode_fid(M0T1FS_I(dir)) |
| mo mo_attr | ca_lid = ci->ci_layout_id |
| mo mo_attr | ca_nlink = inode->i_nlink |
| mo mo_attr | ca_valid |
| out | __pad1__ |
| void * | err_ptr = NULL |
| bool | dcache_splice = false |
| out | __pad2__ |
| m0_fid_tassume & | fid |
| static int void * | buf |
| static int void filldir_t | filldir |
| struct inode * | dir = dentry->d_inode |
| struct m0_dirent * | ent |
| struct m0t1fs_filedata * | fd = f->private_data |
| int | type |
| ino_t | ino |
| int | i = ctx->pos |
| int | over |
| bool | dot_filled = false |
| bool | dotdot_filled = false |
| fd | fd_direof = 1 |
| out | __pad3__ |
| M0_INTERNAL int struct dentry struct kstat * | stat |
| struct m0_fop_cob * | body |
| const struct xattr_handler | m0t1fs_xattr_lid |
| const struct xattr_handler | m0t1fs_xattr_pver |
| const struct xattr_handler | m0t1fs_xattr_writesize |
| static const struct xattr_handler | m0t1fs_xattr_fid_lid |
| static const struct xattr_handler | m0t1fs_xattr_fid_writesize |
| const struct xattr_handler * | m0t1fs_xattr_handlers [] |
| const struct file_operations | m0t1fs_dir_file_operations |
| const struct file_operations | m0t1fs_fid_dir_file_operations |
| const struct inode_operations | m0t1fs_dir_inode_operations |
| const struct inode_operations | m0t1fs_fid_dir_inode_operations |
| anonymous enum |
|
static |
|
static |
|
static |
|
static |
| struct m0_dirent* dirent_first | ( | struct m0_fop_readdir_rep * | rep | ) |
|
static |
|
static |
| if | ( | rc ! | = 0 | ) |
TODO: Entry type is unknown and ino is pretty random, should be fixed later.
| if | ( | csb-> | csb_oostore | ) |
| if | ( | !csb-> | csb_oostore | ) |
| if | ( | IS_ERR(inode) | ) |
| if | ( | fd-> | fd_direof | ) |
| M0_ADDB2_ADD | ( | M0_AVI_FS_CREATE | , |
| new_fid. | f_container, | ||
| new_fid. | f_key, | ||
| mode | , | ||
| rc | |||
| ) |
| m0_addb2_add | ( | M0_AVI_FS_LOOKUP | , |
| M0_ADDB2_OBJ(&dir -> | ci_fid | ||
| ) |
| M0_ENTRY | ( | ) |

| return M0_ERR | ( | - | EOPNOTSUPP | ) |
| m0_fop_put0_lock | ( | rep_fop | ) |

| M0_LEAVE | ( | ) |
| M0_LOG | ( | M0_DEBUG | , |
| "Creating \n pdir %lu " | FID_F, | ||
| (char *) dentry->d_name. | name, | ||
| dir-> | i_ino, | ||
| FID_P(m0t1fs_inode_fid(M0T1FS_I(dir))) | |||
| ) |

| M0_LOG | ( | M0_DEBUG | ) |
| M0_LOG | ( | M0_INFO | , |
| "Creating \ith pool version " | FID_F, | ||
| (char *) dentry->d_name. | name, | ||
| FID_P &-> | ci_pver | ||
| ) |
| return M0_RC | ( | rc | ) |
| M0_INTERNAL int m0t1fs_cob_getattr | ( | struct inode * | inode | ) |
| M0_INTERNAL int m0t1fs_cob_setattr | ( | struct inode * | inode, |
| struct m0t1fs_mdop * | mo | ||
| ) |
|
static |
|
static |
| void m0t1fs_fid_accept | ( | struct m0t1fs_sb * | csb, |
| const struct m0_fid * | fid | ||
| ) |
| void m0t1fs_fid_alloc | ( | struct m0t1fs_sb * | csb, |
| struct m0_fid * | out | ||
| ) |
|
static |
|
static |
| M0_INTERNAL int m0t1fs_fid_getattr | ( | const struct path * | path, |
| struct kstat * | stat, | ||
| uint32_t | request_mask, | ||
| uint32_t | query_flags | ||
| ) |
| int m0t1fs_fid_getxattr | ( | const struct xattr_handler * | handler, |
| struct dentry * | dentry, | ||
| struct inode * | inode, | ||
| const char * | name, | ||
| void * | buffer, | ||
| size_t | size | ||
| ) |
|
static |
|
static |
|
static |
| int m0t1fs_fid_removexattr | ( | struct dentry * | dentry, |
| const char * | name | ||
| ) |
| M0_INTERNAL int m0t1fs_fid_setxattr | ( | const struct xattr_handler * | handler, |
| struct dentry * | dentry, | ||
| struct inode * | inode, | ||
| const char * | name, | ||
| const void * | value, | ||
| size_t | size, | ||
| int | flags | ||
| ) |
| M0_INTERNAL int m0t1fs_fs_conf_lock | ( | struct m0t1fs_sb * | csb | ) |
| M0_INTERNAL void m0t1fs_fs_conf_unlock | ( | struct m0t1fs_sb * | csb | ) |
| m0t1fs_fs_conf_unlock | ( | csb | ) |
| int m0t1fs_getxattr | ( | const struct xattr_handler * | handler, |
| struct dentry * | dentry, | ||
| struct inode * | inode, | ||
| const char * | name, | ||
| void * | buffer, | ||
| size_t | size | ||
| ) |
| M0_INTERNAL bool m0t1fs_inode_bob_check | ( | struct m0t1fs_inode * | bob | ) |

| M0_INTERNAL void m0t1fs_inode_bob_init | ( | struct m0t1fs_inode * | bob | ) |

| int m0t1fs_inode_set_layout_id | ( | struct m0t1fs_inode * | ci, |
| struct m0t1fs_mdop * | mo, | ||
| int | layout_id | ||
| ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| ssize_t m0t1fs_listxattr | ( | struct dentry * | dentry, |
| char * | buffer, | ||
| size_t | size | ||
| ) |
|
static |
| int m0t1fs_mds_cob_create | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_delxattr | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
|
static |
| int m0t1fs_mds_cob_getattr | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_getxattr | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_link | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_listxattr | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_lookup | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
|
static |
Definition at line 1949 of file dir.c.


| int m0t1fs_mds_cob_readdir | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_setattr | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_setxattr | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_cob_unlink | ( | struct m0t1fs_sb * | csb, |
| const struct m0t1fs_mdop * | mo, | ||
| struct m0_fop ** | rep_fop | ||
| ) |
| int m0t1fs_mds_statfs | ( | struct m0t1fs_sb * | csb, |
| struct m0_fop ** | rep_fop | ||
| ) |
|
static |
| int m0t1fs_removexattr | ( | struct dentry * | dentry, |
| const char * | name | ||
| ) |
| M0_INTERNAL int m0t1fs_setattr | ( | struct dentry * | dentry, |
| struct iattr * | attr | ||
| ) |
| int m0t1fs_setxattr | ( | const struct xattr_handler * | handler, |
| struct dentry * | dentry, | ||
| struct inode * | inode, | ||
| const char * | name, | ||
| const void * | value, | ||
| size_t | size, | ||
| int | flags | ||
| ) |
| M0_INTERNAL int m0t1fs_size_update | ( | struct dentry * | dentry, |
| uint64_t | newsize | ||
| ) |
| mark_inode_dirty | ( | dir | ) |

| m0_buf_init& mo | ( | void * | ) |
| m0_buf_init& mo | ( | char * | ) | -> d_name.name, dentry->d_name.len |
|
static |
| unlock_new_inode | ( | inode | ) |

| while | ( | rc | = =0 | ) |

| inode i_mapping a_ops = &m0t1fs_aops |
| struct m0_fop_cob* body |
| mo mo_attr ca_lid = ci->ci_layout_id |
| mo mo_attr ca_pfid = *m0t1fs_inode_fid(M0T1FS_I(dir)) |
| mo mo_attr ca_tfid = *m0t1fs_inode_fid(ci) |
| mo mo_attr ca_valid |
|
static |
| else |
| m0_fid_tassume& fid |
| int void filldir_t filldir |
| M0_INTERNAL int const char const void size_t int flags |
| m0_fid_gob_make & gfid |
| inode i_fop = &m0t1fs_reg_file_operations |
| inode i_ino = m0_fid_hash(&gfid) |
| const struct m0_uint128 m0_rm_m0t1fs_group |
| const struct file_operations m0t1fs_dir_file_operations |
| const struct inode_operations m0t1fs_dir_inode_operations |
| const struct file_operations m0t1fs_fid_dir_file_operations |
| const struct inode_operations m0t1fs_fid_dir_inode_operations |
|
static |
|
static |
| const struct xattr_handler* m0t1fs_xattr_handlers[] |
| const struct xattr_handler m0t1fs_xattr_lid |
| const struct xattr_handler m0t1fs_xattr_pver |
| const struct xattr_handler m0t1fs_xattr_writesize |
| static int struct dentry int mode |
| struct m0_pool_version* pv |
| struct m0_fop_readdir_rep * rep = NULL |
| M0_INTERNAL int const char const void size_t size |
| M0_INTERNAL int struct dentry struct kstat* stat |