Changes in uspace/lib/c/generic/vfs/vfs.c [5930e3f:35a35651] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/vfs/vfs.c
r5930e3f r35a35651 43 43 #include <stdio.h> 44 44 #include <sys/stat.h> 45 #include <sys/statfs.h>46 45 #include <sys/types.h> 47 46 #include <ipc/services.h> … … 893 892 } 894 893 895 int statfs(const char *path, struct statfs *statfs)896 {897 sysarg_t rc;898 sysarg_t rc_orig;899 aid_t req;900 size_t pa_size;901 902 char *pa = absolutize(path, &pa_size);903 if (!pa)904 return ENOMEM;905 async_exch_t *exch = vfs_exchange_begin();906 907 req = async_send_0(exch, VFS_IN_STATFS, NULL);908 rc = async_data_write_start(exch, pa, pa_size);909 if (rc != EOK) {910 vfs_exchange_end(exch);911 free(pa);912 async_wait_for(req, &rc_orig);913 if (rc_orig == EOK)914 return (int) rc;915 else916 return (int) rc_orig;917 }918 rc = async_data_read_start(exch, (void *) statfs, sizeof(struct statfs));919 if (rc != EOK) {920 vfs_exchange_end(exch);921 free(pa);922 async_wait_for(req, &rc_orig);923 if (rc_orig == EOK)924 return (int) rc;925 else926 return (int) rc_orig;927 }928 vfs_exchange_end(exch);929 free(pa);930 async_wait_for(req, &rc);931 return rc;932 }933 934 894 /** @} 935 895 */
Note:
See TracChangeset
for help on using the changeset viewer.