Changeset a35b458 in mainline for uspace/srv/vfs/vfs_ops.c


Ignore:
Timestamp:
2018-03-02T20:10:49Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f1380b7
Parents:
3061bc1
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
Message:

style: Remove trailing whitespace on _all_ lines, including empty ones, for particular file types.

Command used: tools/srepl '\s\+$' '' -- *.c *.h *.py *.sh *.s *.S *.ag

Currently, whitespace on empty lines is very inconsistent.
There are two basic choices: Either remove the whitespace, or keep empty lines
indented to the level of surrounding code. The former is AFAICT more common,
and also much easier to do automatically.

Alternatively, we could write script for automatic indentation, and use that
instead. However, if such a script exists, it's possible to use the indented
style locally, by having the editor apply relevant conversions on load/save,
without affecting remote repository. IMO, it makes more sense to adopt
the simpler rule.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_ops.c

    r3061bc1 ra35b458  
    6464{
    6565        size_t res = 0;
    66        
     66
    6767        while (a[res] == b[res] && a[res] != 0)
    6868                res++;
    69        
     69
    7070        if (a[res] == b[res])
    7171                return res;
    72        
     72
    7373        res--;
    7474        while (a[res] != '/')
     
    9393        if (oldfd == newfd)
    9494                return EOK;
    95        
     95
    9696        /* Lookup the file structure corresponding to fd. */
    9797        vfs_file_t *oldfile = vfs_file_get(oldfd);
     
    112112                        newfile->permissions = oldfile->permissions;
    113113                        vfs_node_addref(newfile->node);
    114        
     114
    115115                        vfs_file_put(newfile);
    116116                }
    117117        }
    118118        vfs_file_put(oldfile);
    119        
     119
    120120        return rc;
    121121}
     
    131131{
    132132        fs_handle_t fs_handle = 0;
    133        
     133
    134134        fibril_mutex_lock(&fs_list_lock);
    135135        while (true) {
    136136                fs_handle = fs_name_to_handle(instance, fsname, false);
    137                
     137
    138138                if (fs_handle != 0 || !(flags & VFS_MOUNT_BLOCKING))
    139139                        break;
    140                
     140
    141141                fibril_condvar_wait(&fs_list_cv, &fs_list_lock);
    142142        }
     
    145145        if (fs_handle == 0)
    146146                return ENOFS;
    147        
     147
    148148        /* Tell the mountee that it is being mounted. */
    149149        ipc_call_t answer;
     
    164164                return rc;
    165165        }
    166        
     166
    167167        vfs_lookup_res_t res;
    168168        res.triplet.fs_handle = fs_handle;
     
    172172            IPC_GET_ARG3(answer));
    173173        res.type = VFS_NODE_DIRECTORY;
    174        
     174
    175175        /* Add reference to the mounted root. */
    176176        *root = vfs_node_get(&res);
     
    182182                return ENOMEM;
    183183        }
    184                        
     184
    185185        vfs_exchange_release(exch);
    186186
     
    194194        errno_t rc;
    195195        errno_t retval;
    196        
     196
    197197        fibril_mutex_lock(&fs_list_lock);
    198198        fs_handle = fs_name_to_handle(0, fs_name, false);
    199199        fibril_mutex_unlock(&fs_list_lock);
    200        
     200
    201201        if (fs_handle == 0)
    202202                return ENOFS;
    203        
     203
    204204        /* Send probe request to the file system server */
    205205        ipc_call_t answer;
     
    209209        if (msg == 0)
    210210                return EINVAL;
    211        
     211
    212212        /* Read probe information */
    213213        retval = async_data_read_start(exch, info, sizeof(*info));
     
    216216                return retval;
    217217        }
    218        
     218
    219219        async_wait_for(msg, &rc);
    220220        vfs_exchange_release(exch);
     
    229229        vfs_file_t *file = NULL;
    230230        *out_fd = -1;
    231        
     231
    232232        if (!(flags & VFS_MOUNT_CONNECT_ONLY)) {
    233233                mp = vfs_file_get(mpfd);
     
    236236                        goto out;
    237237                }
    238                
     238
    239239                if (mp->node->mount != NULL) {
    240240                        rc = EBUSY;
    241241                        goto out;
    242242                }
    243                
     243
    244244                if (mp->node->type != VFS_NODE_DIRECTORY) {
    245245                        rc = ENOTDIR;
    246246                        goto out;
    247247                }
    248                
     248
    249249                if (vfs_node_has_children(mp->node)) {
    250250                        rc = ENOTEMPTY;
     
    252252                }
    253253        }
    254        
     254
    255255        if (!(flags & VFS_MOUNT_NO_REF)) {
    256256                rc = vfs_fd_alloc(&file, false, out_fd);
     
    259259                }
    260260        }
    261        
     261
    262262        vfs_node_t *root = NULL;
    263        
     263
    264264        fibril_rwlock_write_lock(&namespace_rwlock);
    265265
     
    271271                mp->node->mount = root;
    272272        }
    273        
     273
    274274        fibril_rwlock_write_unlock(&namespace_rwlock);
    275        
     275
    276276        if (rc != EOK)
    277277                goto out;
    278        
     278
    279279        if (flags & VFS_MOUNT_NO_REF) {
    280280                vfs_node_delref(root);
    281281        } else {
    282282                assert(file != NULL);
    283                
     283
    284284                file->node = root;
    285285                file->permissions = MODE_READ | MODE_WRITE | MODE_APPEND;
     
    287287                file->open_write = false;
    288288        }
    289        
     289
    290290out:
    291291        if (mp)
     
    298298                *out_fd = -1;
    299299        }
    300        
     300
    301301        return rc;
    302302}
     
    310310        if (!file)
    311311                return EBADF;
    312        
     312
    313313        if ((mode & ~file->permissions) != 0) {
    314314                vfs_file_put(file);
    315315                return EPERM;
    316316        }
    317        
     317
    318318        if (file->open_read || file->open_write) {
    319319                vfs_file_put(file);
    320320                return EBUSY;
    321321        }
    322        
     322
    323323        file->open_read = (mode & MODE_READ) != 0;
    324324        file->open_write = (mode & (MODE_WRITE | MODE_APPEND)) != 0;
    325325        file->append = (mode & MODE_APPEND) != 0;
    326        
     326
    327327        if (!file->open_read && !file->open_write) {
    328328                vfs_file_put(file);
    329329                return EINVAL;
    330330        }
    331        
     331
    332332        if (file->node->type == VFS_NODE_DIRECTORY && file->open_write) {
    333333                file->open_read = file->open_write = false;
     
    335335                return EINVAL;
    336336        }
    337        
     337
    338338        errno_t rc = vfs_open_node_remote(file->node);
    339339        if (rc != EOK) {
     
    342342                return rc;
    343343        }
    344        
     344
    345345        vfs_file_put(file);
    346346        return EOK;
     
    385385        if (exch == NULL)
    386386                return ENOENT;
    387        
     387
    388388        aid_t msg = async_send_fast(exch, read ? VFS_OUT_READ : VFS_OUT_WRITE,
    389389            file->node->service_id, file->node->index, LOWER32(pos),
     
    397397                return retval;
    398398        }
    399        
     399
    400400        errno_t rc;
    401401        async_wait_for(msg, &rc);
    402        
     402
    403403        chunk->size = IPC_GET_ARG1(*answer);
    404404
     
    418418         * open files supports parallel access!
    419419         */
    420        
     420
    421421        /* Lookup the file structure corresponding to the file descriptor. */
    422422        vfs_file_t *file = vfs_file_get(fd);
    423423        if (!file)
    424424                return EBADF;
    425        
     425
    426426        if ((read && !file->open_read) || (!read && !file->open_write)) {
    427427                vfs_file_put(file);
    428428                return EINVAL;
    429429        }
    430        
     430
    431431        vfs_info_t *fs_info = fs_handle_to_info(file->node->fs_handle);
    432432        assert(fs_info);
    433        
     433
    434434        bool rlock = read ||
    435435            (fs_info->concurrent_read_write && fs_info->write_retains_size);
    436        
     436
    437437        /*
    438438         * Lock the file's node so that no other client can read/write to it at
     
    444444        else
    445445                fibril_rwlock_write_lock(&file->node->contents_rwlock);
    446        
     446
    447447        if (file->node->type == VFS_NODE_DIRECTORY) {
    448448                /*
     
    450450                 * while we are in readdir().
    451451                 */
    452                
     452
    453453                if (!read) {
    454454                        if (rlock) {
     
    462462                        return EINVAL;
    463463                }
    464                
     464
    465465                fibril_rwlock_read_lock(&namespace_rwlock);
    466466        }
    467        
     467
    468468        async_exch_t *fs_exch = vfs_exchange_grab(file->node->fs_handle);
    469        
     469
    470470        if (!read && file->append)
    471471                pos = file->node->size;
    472        
     472
    473473        /*
    474474         * Handle communication with the endpoint FS.
     
    476476        ipc_call_t answer;
    477477        errno_t rc = ipc_cb(fs_exch, file, pos, &answer, read, ipc_cb_data);
    478        
     478
    479479        vfs_exchange_release(fs_exch);
    480        
     480
    481481        if (file->node->type == VFS_NODE_DIRECTORY)
    482482                fibril_rwlock_read_unlock(&namespace_rwlock);
    483        
     483
    484484        /* Unlock the VFS node. */
    485485        if (rlock) {
     
    493493                fibril_rwlock_write_unlock(&file->node->contents_rwlock);
    494494        }
    495        
     495
    496496        vfs_file_put(file);
    497497
     
    518518        vfs_node_addref(base);
    519519        vfs_file_put(base_file);
    520        
     520
    521521        vfs_lookup_res_t base_lr;
    522522        vfs_lookup_res_t old_lr;
    523523        vfs_lookup_res_t new_lr_orig;
    524524        bool orig_unlinked = false;
    525        
     525
    526526        errno_t rc;
    527        
     527
    528528        size_t shared = shared_path(old, new);
    529        
     529
    530530        /* Do not allow one path to be a prefix of the other. */
    531531        if (old[shared] == 0 || new[shared] == 0) {
     
    535535        assert(old[shared] == '/');
    536536        assert(new[shared] == '/');
    537        
     537
    538538        fibril_rwlock_write_lock(&namespace_rwlock);
    539        
     539
    540540        /* Resolve the shared portion of the path first. */
    541541        if (shared != 0) {
     
    547547                        return rc;
    548548                }
    549                
     549
    550550                vfs_node_put(base);
    551551                base = vfs_node_get(&base_lr);
     
    565565                return rc;
    566566        }
    567                
     567
    568568        rc = vfs_lookup_internal(base, new, L_UNLINK | L_DISABLE_MOUNTS,
    569569            &new_lr_orig);
     
    595595                return rc;
    596596        }
    597        
     597
    598598        /* If the node is not held by anyone, try to destroy it. */
    599599        if (orig_unlinked) {
     
    604604                        vfs_node_put(node);
    605605        }
    606        
     606
    607607        vfs_node_put(base);
    608608        fibril_rwlock_write_unlock(&namespace_rwlock);
     
    617617
    618618        fibril_rwlock_write_lock(&file->node->contents_rwlock);
    619        
     619
    620620        errno_t rc = vfs_truncate_internal(file->node->fs_handle,
    621621            file->node->service_id, file->node->index, size);
    622622        if (rc == EOK)
    623623                file->node->size = size;
    624        
     624
    625625        fibril_rwlock_write_unlock(&file->node->contents_rwlock);
    626626        vfs_file_put(file);
     
    640640            node->service_id, node->index, true, 0, NULL);
    641641        vfs_exchange_release(exch);
    642        
     642
    643643        vfs_file_put(file);
    644644        return rc;
     
    667667        if (!file)
    668668                return EBADF;
    669        
     669
    670670        async_exch_t *fs_exch = vfs_exchange_grab(file->node->fs_handle);
    671        
     671
    672672        aid_t msg;
    673673        ipc_call_t answer;
    674674        msg = async_send_2(fs_exch, VFS_OUT_SYNC, file->node->service_id,
    675675            file->node->index, &answer);
    676        
     676
    677677        vfs_exchange_release(fs_exch);
    678        
     678
    679679        errno_t rc;
    680680        async_wait_for(msg, &rc);
    681        
     681
    682682        vfs_file_put(file);
    683683        return rc;
    684        
     684
    685685}
    686686
     
    693693            UPPER32(size));
    694694        vfs_exchange_release(exch);
    695        
     695
    696696        return (errno_t) rc;
    697697}
     
    702702        vfs_file_t *parent = NULL;
    703703        vfs_file_t *expect = NULL;
    704        
     704
    705705        if (parentfd == expectfd)
    706706                return EINVAL;
    707        
     707
    708708        fibril_rwlock_write_lock(&namespace_rwlock);
    709        
     709
    710710        /*
    711711         * Files are retrieved in order of file descriptors, to prevent
     
    719719                }
    720720        }
    721        
     721
    722722        if (expectfd >= 0) {
    723723                expect = vfs_file_get(expectfd);
     
    727727                }
    728728        }
    729        
     729
    730730        if (parentfd > expectfd) {
    731731                parent = vfs_file_get(parentfd);
     
    735735                }
    736736        }
    737        
     737
    738738        assert(parent != NULL);
    739        
     739
    740740        if (expectfd >= 0) {
    741741                vfs_lookup_res_t lr;
     
    743743                if (rc != EOK)
    744744                        goto exit;
    745                
     745
    746746                vfs_node_t *found_node = vfs_node_peek(&lr);
    747747                vfs_node_put(found_node);
     
    750750                        goto exit;
    751751                }
    752                
     752
    753753                vfs_file_put(expect);
    754754                expect = NULL;
    755755        }
    756        
     756
    757757        vfs_lookup_res_t lr;
    758758        rc = vfs_lookup_internal(parent->node, path, L_UNLINK, &lr);
     
    783783        if (mp == NULL)
    784784                return EBADF;
    785        
     785
    786786        if (mp->node->mount == NULL) {
    787787                vfs_file_put(mp);
    788788                return ENOENT;
    789789        }
    790        
     790
    791791        fibril_rwlock_write_lock(&namespace_rwlock);
    792        
     792
    793793        /*
    794794         * Count the total number of references for the mounted file system. We
     
    804804                return EBUSY;
    805805        }
    806        
     806
    807807        async_exch_t *exch = vfs_exchange_grab(mp->node->mount->fs_handle);
    808808        errno_t rc = async_req_1_0(exch, VFS_OUT_UNMOUNTED,
    809809            mp->node->mount->service_id);
    810810        vfs_exchange_release(exch);
    811        
     811
    812812        if (rc != EOK) {
    813813                vfs_file_put(mp);
     
    815815                return rc;
    816816        }
    817        
     817
    818818        vfs_node_forget(mp->node->mount);
    819819        vfs_node_put(mp->node);
    820820        mp->node->mount = NULL;
    821        
     821
    822822        fibril_rwlock_write_unlock(&namespace_rwlock);
    823        
     823
    824824        vfs_file_put(mp);
    825825        return EOK;
     
    866866        if (!walk_flags_valid(flags))
    867867                return EINVAL;
    868        
     868
    869869        vfs_file_t *parent = vfs_file_get(parentfd);
    870870        if (!parent)
    871871                return EBADF;
    872        
     872
    873873        fibril_rwlock_read_lock(&namespace_rwlock);
    874        
     874
    875875        vfs_lookup_res_t lr;
    876876        errno_t rc = vfs_lookup_internal(parent->node, path,
     
    881881                return rc;
    882882        }
    883        
     883
    884884        vfs_node_t *node = vfs_node_get(&lr);
    885885        if (!node) {
     
    888888                return ENOMEM;
    889889        }
    890        
     890
    891891        vfs_file_t *file;
    892892        rc = vfs_fd_alloc(&file, false, out_fd);
     
    897897        }
    898898        assert(file != NULL);
    899        
     899
    900900        file->node = node;
    901901        file->permissions = parent->permissions;
    902902        file->open_read = false;
    903903        file->open_write = false;
    904        
     904
    905905        vfs_file_put(file);
    906906        vfs_file_put(parent);
    907        
     907
    908908        fibril_rwlock_read_unlock(&namespace_rwlock);
    909909
Note: See TracChangeset for help on using the changeset viewer.