Changeset 6d4d883 in mainline for uspace/srv/fs/mfs/mfs_ops.c


Ignore:
Timestamp:
2011-10-14T19:39:02Z (13 years ago)
Author:
Maurizio Lombardi <m.lombardi85@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2ac7af3
Parents:
9269c88
Message:

cstyle

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/mfs/mfs_ops.c

    r9269c88 r6d4d883  
    4343
    4444static bool check_magic_number(uint16_t magic, bool *native,
    45                                mfs_version_t *version, bool *longfilenames);
     45    mfs_version_t *version, bool *longfilenames);
    4646static int mfs_node_core_get(fs_node_t **rfn, struct mfs_instance *inst,
    47                              fs_index_t index);
    48 
     47    fs_index_t index);
    4948static int mfs_node_put(fs_node_t *fsnode);
    5049static int mfs_node_open(fs_node_t *fsnode);
     
    6463static hash_index_t open_nodes_hash(unsigned long key[]);
    6564static int open_nodes_compare(unsigned long key[], hash_count_t keys,
    66                 link_t *item);
     65    link_t *item);
    6766static void open_nodes_remove_cb(link_t *link);
    68 
    6967static int mfs_node_get(fs_node_t **rfn, service_id_t service_id,
    70                         fs_index_t index);
    71 static int
    72 mfs_instance_get(service_id_t service_id, struct mfs_instance **instance);
     68    fs_index_t index);
     69static int mfs_instance_get(service_id_t service_id,
     70    struct mfs_instance **instance);
    7371
    7472
     
    9694
    9795/* Hash table interface for open nodes hash table */
    98 static hash_index_t open_nodes_hash(unsigned long key[])
     96static hash_index_t
     97open_nodes_hash(unsigned long key[])
    9998{
    10099        /* TODO: This is very simple and probably can be improved */
     
    102101}
    103102
    104 static int open_nodes_compare(unsigned long key[], hash_count_t keys,
    105                 link_t *item)
     103static int
     104open_nodes_compare(unsigned long key[], hash_count_t keys,
     105    link_t *item)
    106106{
    107107        struct mfs_node *mnode = hash_table_get_instance(item, struct mfs_node, link);
     
    118118}
    119119
    120 static void open_nodes_remove_cb(link_t *link)
     120static void
     121open_nodes_remove_cb(link_t *link)
    121122{
    122123        /* We don't use remove callback for this hash table */
     
    129130};
    130131
    131 int mfs_global_init(void)
     132int
     133mfs_global_init(void)
    132134{
    133135        if (!hash_table_create(&open_nodes, OPEN_NODES_BUCKETS,
    134                         OPEN_NODES_KEYS, &open_nodes_ops)) {
     136            OPEN_NODES_KEYS, &open_nodes_ops)) {
    135137                return ENOMEM;
    136138        }
     
    140142static int
    141143mfs_mounted(service_id_t service_id, const char *opts, fs_index_t *index,
    142                 aoff64_t *size, unsigned *linkcnt)
     144    aoff64_t *size, unsigned *linkcnt)
    143145{
    144146        enum cache_mode cmode;
     
    163165                return rc;
    164166
    165         /*Allocate space for generic MFS superblock*/
     167        /* Allocate space for generic MFS superblock */
    166168        sbi = malloc(sizeof(*sbi));
    167169        if (!sbi) {
     
    170172        }
    171173
    172         /*Allocate space for filesystem instance*/
     174        /* Allocate space for filesystem instance */
    173175        instance = malloc(sizeof(*instance));
    174176        if (!instance) {
     
    191193
    192194        if (check_magic_number(sb->s_magic, &native, &version, &longnames)) {
    193                 /*This is a V1 or V2 Minix filesystem*/
     195                /* This is a V1 or V2 Minix filesystem */
    194196                magic = sb->s_magic;
    195197        } else if (check_magic_number(sb3->s_magic, &native, &version, &longnames)) {
    196                 /*This is a V3 Minix filesystem*/
     198                /* This is a V3 Minix filesystem */
    197199                magic = sb3->s_magic;
    198200        } else {
    199                 /*Not recognized*/
     201                /* Not recognized */
    200202                mfsdebug("magic number not recognized\n");
    201203                rc = ENOTSUP;
     
    205207        mfsdebug("magic number recognized = %04x\n", magic);
    206208
    207         /*Fill superblock info structure*/
     209        /* Fill superblock info structure */
    208210
    209211        sbi->fs_version = version;
     
    243245                sbi->dirsize = longnames ? MFSL_DIRSIZE : MFS_DIRSIZE;
    244246                sbi->max_name_len = longnames ? MFS_L_MAX_NAME_LEN :
    245                                     MFS_MAX_NAME_LEN;
     247                    MFS_MAX_NAME_LEN;
    246248        }
    247249
     
    267269        }
    268270
    269         /*Initialize the instance structure and remember it*/
     271        /* Initialize the instance structure and remember it */
    270272        instance->service_id = service_id;
    271273        instance->sbi = sbi;
     
    328330}
    329331
    330 service_id_t mfs_service_get(fs_node_t *fsnode)
     332service_id_t
     333mfs_service_get(fs_node_t *fsnode)
    331334{
    332335        struct mfs_node *node = fsnode->data;
     
    334337}
    335338
    336 static int mfs_create_node(fs_node_t **rfn, service_id_t service_id, int flags)
     339static int
     340mfs_create_node(fs_node_t **rfn, service_id_t service_id, int flags)
    337341{
    338342        int r;
     
    348352                return r;
    349353
    350         /*Alloc a new inode*/
     354        /* Alloc a new inode */
    351355        r = mfs_alloc_inode(inst, &inum);
    352356        if (r != EOK)
     
    375379        if (flags & L_DIRECTORY) {
    376380                ino_i->i_mode = S_IFDIR;
    377                 ino_i->i_nlinks = 2; /*This accounts for the '.' dentry*/
     381                ino_i->i_nlinks = 2; /* This accounts for the '.' dentry */
    378382        } else {
    379383                ino_i->i_mode = S_IFREG;
     
    428432}
    429433
    430 static int mfs_match(fs_node_t **rfn, fs_node_t *pfn, const char *component)
     434static int
     435mfs_match(fs_node_t **rfn, fs_node_t *pfn, const char *component)
    431436{
    432437        struct mfs_node *mnode = pfn->data;
     
    450455
    451456                if (!d_info.d_inum) {
    452                         /*This entry is not used*/
     457                        /* This entry is not used */
    453458                        continue;
    454459                }
     
    457462
    458463                if (comp_size == dentry_name_size &&
    459                         !bcmp(component, d_info.d_name, dentry_name_size)) {
    460                         /*Hit!*/
     464                    !bcmp(component, d_info.d_name, dentry_name_size)) {
     465                        /* Hit! */
    461466                        mfs_node_core_get(rfn, mnode->instance,
    462                                           d_info.d_inum);
     467                            d_info.d_inum);
    463468                        goto found;
    464469                }
     
    469474}
    470475
    471 static aoff64_t mfs_size_get(fs_node_t *node)
     476static aoff64_t
     477mfs_size_get(fs_node_t *node)
    472478{
    473479        const struct mfs_node *mnode = node->data;
     
    477483static int
    478484mfs_node_get(fs_node_t **rfn, service_id_t service_id,
    479                         fs_index_t index)
     485    fs_index_t index)
    480486{
    481487        int rc;
     
    521527}
    522528
    523 static int mfs_node_open(fs_node_t *fsnode)
     529static int
     530mfs_node_open(fs_node_t *fsnode)
    524531{
    525532        /*
     
    530537}
    531538
    532 static fs_index_t mfs_index_get(fs_node_t *fsnode)
     539static fs_index_t
     540mfs_index_get(fs_node_t *fsnode)
    533541{
    534542        struct mfs_node *mnode = fsnode->data;
     
    536544}
    537545
    538 static unsigned mfs_lnkcnt_get(fs_node_t *fsnode)
     546static unsigned
     547mfs_lnkcnt_get(fs_node_t *fsnode)
    539548{
    540549        struct mfs_node *mnode = fsnode->data;
     
    551560}
    552561
    553 static int mfs_node_core_get(fs_node_t **rfn, struct mfs_instance *inst,
    554                              fs_index_t index)
     562static int
     563mfs_node_core_get(fs_node_t **rfn, struct mfs_instance *inst,
     564    fs_index_t index)
    555565{
    556566        fs_node_t *node = NULL;
     
    624634}
    625635
    626 static bool mfs_is_directory(fs_node_t *fsnode)
     636static bool
     637mfs_is_directory(fs_node_t *fsnode)
    627638{
    628639        const struct mfs_node *node = fsnode->data;
     
    630641}
    631642
    632 static bool mfs_is_file(fs_node_t *fsnode)
     643static bool
     644mfs_is_file(fs_node_t *fsnode)
    633645{
    634646        struct mfs_node *node = fsnode->data;
     
    636648}
    637649
    638 static int mfs_root_get(fs_node_t **rfn, service_id_t service_id)
     650static int
     651mfs_root_get(fs_node_t **rfn, service_id_t service_id)
    639652{
    640653        int rc = mfs_node_get(rfn, service_id, MFS_ROOT_INO);
     
    642655}
    643656
    644 static int mfs_link(fs_node_t *pfn, fs_node_t *cfn, const char *name)
     657static int
     658mfs_link(fs_node_t *pfn, fs_node_t *cfn, const char *name)
    645659{
    646660        struct mfs_node *parent = pfn->data;
     
    717731}
    718732
    719 static int mfs_has_children(bool *has_children, fs_node_t *fsnode)
     733static int
     734mfs_has_children(bool *has_children, fs_node_t *fsnode)
    720735{
    721736        struct mfs_node *mnode = fsnode->data;
     
    738753
    739754                if (d_info.d_inum) {
    740                         /*A valid entry has been found*/
     755                        /* A valid entry has been found */
    741756                        *has_children = true;
    742757                        break;
     
    750765static int
    751766mfs_read(service_id_t service_id, fs_index_t index, aoff64_t pos,
    752                 size_t *rbytes)
     767    size_t *rbytes)
    753768{
    754769        int rc;
     
    780795
    781796                if (pos < 2) {
    782                         /*Skip the first two dentries ('.' and '..')*/
     797                        /* Skip the first two dentries ('.' and '..') */
    783798                        pos = 2;
    784799                }
     
    790805
    791806                        if (d_info.d_inum) {
    792                                 /*Dentry found!*/
     807                                /* Dentry found! */
    793808                                goto found;
    794809                        }
     
    806821
    807822                if (pos >= (size_t) ino_i->i_size) {
    808                         /*Trying to read beyond the end of file*/
     823                        /* Trying to read beyond the end of file */
    809824                        bytes = 0;
    810825                        (void) async_data_read_finalize(callid, NULL, 0);
     
    823838
    824839                if (zone == 0) {
    825                         /*sparse file*/
     840                        /* sparse file */
    826841                        uint8_t *buf = malloc(sbi->block_size);
    827842                        if (!buf) {
     
    831846                        memset(buf, 0, sizeof(sbi->block_size));
    832847                        async_data_read_finalize(callid,
    833                                                 buf + pos % sbi->block_size, bytes);
     848                            buf + pos % sbi->block_size, bytes);
    834849                        free(buf);
    835850                        goto out_success;
     
    841856
    842857                async_data_read_finalize(callid, b->data +
    843                                         pos % sbi->block_size, bytes);
     858                    pos % sbi->block_size, bytes);
    844859
    845860                rc = block_put(b);
     
    862877static int
    863878mfs_write(service_id_t service_id, fs_index_t index, aoff64_t pos,
    864                 size_t *wbytes, aoff64_t *nsize)
     879    size_t *wbytes, aoff64_t *nsize)
    865880{
    866881        fs_node_t *fn;
     
    954969                return ENOENT;
    955970
    956         /*Destroy the inode*/
     971        /* Destroy the inode */
    957972        return mfs_destroy_node(fn);
    958973}
     
    973988        assert(!has_children);
    974989
    975         /*Free the entire inode content*/
     990        /* Free the entire inode content */
    976991        r = mfs_inode_shrink(mnode, mnode->ino_i->i_size);
    977992        if (r != EOK)
    978993                goto out;
    979994
    980         /*Mark the inode as free in the bitmap*/
     995        /* Mark the inode as free in the bitmap */
    981996        r = mfs_free_inode(mnode->instance, mnode->ino_i->index);
    982997
     
    10171032
    10181033        rc = fs_instance_get(service_id, &data);
    1019         if (rc == EOK) {
     1034        if (rc == EOK)
    10201035                *instance = (struct mfs_instance *) data;
    1021         } else {
     1036        else {
    10221037                mfsdebug("instance not found\n");
    10231038        }
     
    10261041}
    10271042
    1028 static bool check_magic_number(uint16_t magic, bool *native,
    1029                                mfs_version_t *version, bool *longfilenames)
     1043static bool
     1044check_magic_number(uint16_t magic, bool *native,
     1045                mfs_version_t *version, bool *longfilenames)
    10301046{
    10311047        bool rc = true;
Note: See TracChangeset for help on using the changeset viewer.