X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=nfs3%2Fnfs3.c;h=a0102efbf899633e4c0579bc7f1d6d0e7eec5a94;hb=ea7099e8f1f6319cf6d20087d71209fa79cecf6f;hp=f7e7b4ef96ead8a8cb6fbd772f810841fe1ab6df;hpb=4db23448ce252728f10df967b55b2787d5fb8db5;p=bluesky.git diff --git a/nfs3/nfs3.c b/nfs3/nfs3.c index f7e7b4e..a0102ef 100644 --- a/nfs3/nfs3.c +++ b/nfs3/nfs3.c @@ -470,18 +470,19 @@ void nfsproc3_create_3_svc(create3args *argp, RPCRequest *req) return; } + g_mutex_lock(fs->lock); BlueSkyInode *file; file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_REGULAR); file->nlink = 1; file->mode = 0755; int64_t time = bluesky_get_current_time(); - printf("time: %"PRIi64"\n", time); file->mtime = time; file->ctime = time; file->atime = time; file->ntime = time; g_mutex_lock(file->lock); bluesky_insert_inode(fs, file); + g_mutex_unlock(fs->lock); bluesky_directory_insert(dir, argp->where.name, file->inum); bluesky_inode_update_ctime(dir, TRUE); @@ -541,6 +542,7 @@ void nfsproc3_mkdir_3_svc(mkdir3args *argp, RPCRequest *req) return; } + g_mutex_lock(fs->lock); BlueSkyInode *file; file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_DIRECTORY); file->nlink = 1; @@ -552,6 +554,7 @@ void nfsproc3_mkdir_3_svc(mkdir3args *argp, RPCRequest *req) file->ntime = time; g_mutex_lock(file->lock); bluesky_insert_inode(fs, file); + g_mutex_unlock(fs->lock); bluesky_directory_insert(dir, argp->where.name, file->inum); set_attributes(file, &argp->attributes); @@ -610,6 +613,7 @@ void nfsproc3_symlink_3_svc(symlink3args *argp, RPCRequest *req) return; } + g_mutex_lock(fs->lock); BlueSkyInode *file; file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_SYMLINK); file->nlink = 1; @@ -622,6 +626,7 @@ void nfsproc3_symlink_3_svc(symlink3args *argp, RPCRequest *req) file->symlink_contents = g_strdup(argp->symlink.symlink_data); g_mutex_lock(file->lock); bluesky_insert_inode(fs, file); + g_mutex_unlock(fs->lock); bluesky_directory_insert(dir, argp->where.name, file->inum); bluesky_inode_update_ctime(dir, TRUE);