Commit Graph

60498 Commits

Author SHA1 Message Date
Augustin Cavalier
29536b4c4b Mail: Don't use strtok.
That seems like a bad idea...
2019-08-31 23:01:51 -04:00
Augustin Cavalier
58a582ff22 ramfs: Set the vnode's cache object when opening files.
Now it is possible to run applications, do Git checkouts, etc.
on a ramfs (and those seem to work just fine -- a git checkout
followed by a git fsck both succeeded.)
2019-08-31 20:38:19 -04:00
Augustin Cavalier
a9be0efb2e kernel/fs: Add support for setting custom VMCaches in vnodes.
This adds one (private) VFS function, and checks in all usages of
the vnode->cache as a VMVnodeCache that it really is one. (Generic
usages, for the moment just the ReleaseRef() calls in vnode
destruction, are intentionally not touched.)

This will be used by ramfs to set the cache from its own,
so that map_file() calls on a ramfs can work.
2019-08-31 20:38:18 -04:00
Augustin Cavalier
69c34116f0 ram_disk: Add note about code duplication with ramfs. 2019-08-31 20:38:18 -04:00
Augustin Cavalier
181d68fbd4 ramfs: GCC 2 fixes. 2019-08-31 20:38:18 -04:00
Augustin Cavalier
d2ab19b331 ramfs: Drop now-unused Block* classes. 2019-08-31 20:38:18 -04:00
Augustin Cavalier
cbc0726819 ramfs: Overhaul block allocation to use a VMCache and physical pages.
This is a massive efficiency improvement as well as a large address
space usage savings. It also paves the way for file_map() support...
2019-08-31 20:38:18 -04:00
Augustin Cavalier
c8f0cc1afa ramfs: Fix bool/status mixup in DirectoryEntryTable.
Now you can actually delete files again.
2019-08-31 20:38:18 -04:00
Augustin Cavalier
677fca26d7 ramfs: Remove the Attribute::GetKey overload that accepts a ptr-ptr.
This only works because DataCollector stores its data in blocks
which are mapped into the kernel's address space. After the
next series of commits, it won't, so we can't depend on that.

This required some changes to the indexes to keep a copy of the
keys.
2019-08-31 20:38:18 -04:00
Augustin Cavalier
6d244f23b8 ramfs: Use rw_lock instead of recursive_lock for r/w locking.
Also use recursive_lock directly instead of the userlandfs shim class.
2019-08-31 20:38:18 -04:00
Adrien Destugues
27823b29cd Time preferences: remove \r
We are not Windows, we don't need these.
2019-08-31 18:51:02 +02:00
Adrien Destugues
60b52ce0bc HashMapCatalog: handle more standard escpae sequences.
Fixes #14705
2019-08-31 18:51:02 +02:00
Augustin Cavalier
91c8637753 ramfs: Drop OpenTracker OpenHashTable and the custom AreaUtils.
Following removal of NodeChildTable, they aren't used.
2019-08-31 12:28:09 -04:00
Augustin Cavalier
e583221270 ramfs: Replace the NodeChildTable with a DirectoryEntryTable.
Now that Attributes don't use a table, we can replace the generic
system with a specific DirectoryEntryTable, upgrading to BOpenHashTable
in the process.
2019-08-31 12:28:09 -04:00
Augustin Cavalier
019d327dce ramfs: Just use the linked list for attributes instead of a hash table.
This is what packagefs does; so if it's performant enough for packagefs,
it's performant enough for us. Greatly simplifies this code (and will
allow for further simplification of the NodeChildHash.)
2019-08-31 12:28:09 -04:00
Augustin Cavalier
565c58a527 ramfs: Adapt NodeTable to use BOpenHashTable. 2019-08-31 12:28:09 -04:00
Adrien Destugues
b4e2eff2f6 DebugWindow: improve layout
Fixes #15155.
2019-08-31 18:26:23 +02:00
Adrien Destugues
5f996be3c6 InfoWindow: more window sizing improvements
Fixes #15310 and other problem mentioned in comments threrein.
2019-08-31 17:18:22 +02:00
Adrien Destugues
72ce594753 InfoWindow: allow some resizing of attribute columns
Fixes #15319
2019-08-31 17:18:22 +02:00
Augustin Cavalier
349ab0050a ramfs: Fix miscellaneous warnings. 2019-08-30 20:53:29 -04:00
Augustin Cavalier
2914364270 ramfs: Fix debugging print macro invocations and use B_PRI*. 2019-08-30 20:53:15 -04:00
Augustin Cavalier
b2c20927e8 ramfs: Fix setting the ops and an incorrect node cast.
And now ramfs works!
2019-08-30 20:31:40 -04:00
Augustin Cavalier
c3e0275cc5 ramfs: Adapt to current kernel FS APIs and fully fix the build. 2019-08-30 19:54:54 -04:00
Augustin Cavalier
b9795faf5d ramfs: Add MIT license header to all files lacking copyright info.
OK'ed by Ingo via email.
2019-08-30 18:48:11 -04:00
Augustin Cavalier
731be7dde1 Relicense all of Ingo's BSD/MIT+advertising clause'd code as plain MIT.
Via email:
> I'm fine with re-licensing all code using BSD license + advertising
> clause to MIT license.
2019-08-30 18:27:35 -04:00
Augustin Cavalier
47a21c5c89 s/Haiku License/MIT License/g.
They are the same thing.
2019-08-30 18:16:02 -04:00
Augustin Cavalier
128781e740 build/jam: Inline HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR where possible.
The "exec" tool can only handle one command with environs set at
the beginning of the line, so now we set the ADD_BUILD_COMPAT...
in this format. This also seems to be a general performance
improvement to builds using real shells, too.

Change-Id: If4b3117651b5475039d5e8116cd3de398582290a
2019-08-30 17:11:50 -04:00
Augustin Cavalier
12eb0e5d89 libroot: Add a private __look_up_in_path function.
Refactored out of execvpe. Originally I did this for my attempted
change to posix_spawn, but that change turned out to be wrong and
actually not that beneficial. This bit seems potentially useful,
though, so here it is.
2019-08-30 16:24:09 -04:00
Augustin Cavalier
852cf6de56 tests: Correct includes ordering.
Spotted by korli.
2019-08-30 16:16:10 -04:00
Jaroslaw Pelczar
273b16e8aa EasyPenInputDevice.cpp: Fix broken code
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I28f4c5533d2e816ed79983c846ea41da218bc1a1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1774
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 19:25:39 +00:00
oco27
fea647905f usb_midi: Fix an error when unpluging a MIDI device
- It appears that, in this case, port->open_fd is NULL.
    Maybe, this would require some investigation too.
    But in this case, i think it is better to remove port
    from the device list anyway because remove_port will freed
    the port at the end of the loop.
    And adding 0xdeadbeef in the device list is not a good idea.

Change-Id: Id6b55f5e19ebbbbb48f0fa0b7d9ac65b996dbaf2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1746
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 19:21:09 +00:00
Adrien Destugues
df6cc9b5c9 BRoster: dereference symlinks when building RosterAppInfo
Should fix #15313

Change-Id: Ibd1d4f4195d794841ecddf3534177982cf894bcb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1803
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 19:20:06 +00:00
Adrien Destugues
e8f5d1ca66 bfs: erase ext2 superblock when initializing
Having valid superblocks from multiple filesystems on the same disk is
confusing, let's try to avoid that.

Change-Id: I1a58843d45ea52193a77faaf8dcc3ca6a049406e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1802
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 19:18:20 +00:00
Adrien Destugues
354311b57b filesystems: bump priority of BFS over others
If multipole filesystems think they can handle a volume, it makes sense
to assume the native one is to be used.

Makes my partitions with a BFS superblock and a leftover ext2 superblock
on them mountable again without manually specifying the filesystem type.

Fixes #15045.

Change-Id: Icb694472aa3de0a79e5f7d3c54976038e1e2590a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1801
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 19:18:20 +00:00
Adrien Destugues
b684f01835 ext2: fix panic mounting ext2-overwritten-with-BFS volumes
I have two partitions which used to be ext2, but have long since been
reinitialized as BFS. However, the ext2 superblock is still here, and
the ext2 filesystem will detect it. It crashes later on trying to access
an Inode at block -1, so just add a check for that to avoid the crash.

Change-Id: Ie2ed6a969ea3ffd343dedfe45a15dfc37af05804
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1800
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 19:18:20 +00:00
Jaroslaw Pelczar
1f52c921e2 ARM64: Initial changes so we can compile GCC toolchain
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I0859d0619d601efd003472e2846d2f980ee2e457
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1799
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 19:05:16 +00:00
Humdinger
abdd9ab439 DriveSetup: Tweak mount mode icons and colors
* Use 2D icons for mount modes: encrypted, file, readonly, shared
  ('boot' already uses he 2D Overlay_leaf)
* Use more vibrant colors for used space indicators.
  (red = readonly, green = BFS, blue = non-BFS, grey/orange = encrypted)
* Don't have boot/bfs partitions override readonly status (red) with
  green. Keep it simple: if anything mounts read-only, show in red.

Change-Id: I4a7c53e1c1d3c6f4be35cbd680b2a7b5e1f9bea3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1755
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:29:38 +00:00
Mikael Konradsson
aabebc302e Interface Kit: Fix some hard-coded colors.
* Fix hardcoded black color in SeparatorView that caused invisible or
   hard to read labels if you had a dark panel color. E.g MediaPrefs
 * DrawBorder in HaikuControl didn't care about dark mode. Added check
   for light/dark and changed the Tinting accordingly. We should probably
   do the same for FancyBorder style as well.

Change-Id: I065211e56b0db5acd05ea287d6cacf75786f306f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1751
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:28:32 +00:00
Jaroslaw Pelczar
979676fb4e wcs_test.cpp: Fix invalid unicode strings
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: Ic09c229a1ee857e466ededbaa05fdd948c009fcd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1795
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:25:20 +00:00
Jaroslaw Pelczar
2995019e04 PartitioningSystemsTest.cpp: Add missing include
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: Ib249f360c6fdcd4d55b0835821c3f98b99a8dbfb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1793
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:24:49 +00:00
Jaroslaw Pelczar
2cf1b6d6aa specific_video_driver.cpp: Add missing include
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I155e1a89561b43c3a83675c9a61c5e35496e217e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1792
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:24:49 +00:00
Jaroslaw Pelczar
46843fbb00 acpi_lid.cpp: Fix invalid preprocessor directive
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I5358be797f0d2fa9b3b9437d5822db03e3c1b70d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1790
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:22:28 +00:00
Jaroslaw Pelczar
3a0988b833 s3:More fixes for invalid type casts
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: Id4170d950f9f79fc5edd808f49d58da974cb32b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1788
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:20:22 +00:00
Jaroslaw Pelczar
132242e027 yuv_converter.h: Fix integer truncation
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I445d3d2c4d80b65747257c0e4fc444427599c451
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1787
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:20:22 +00:00
Jaroslaw Pelczar
13b4d9799b VideoDecoder.cpp: Fix invalid C++ extra qualification
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: Ide54bce3a762826c33dafa87a1d7fdceac275619
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1786
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:20:22 +00:00
Jaroslaw Pelczar
297af3088c mp3_decoder_test: Fix invalid taking address of temporary
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I2e41a048784a666de8937e224ee0cd8d17ba24ab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1785
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:20:22 +00:00
Jaroslaw Pelczar
42630943fd transform_procs.c: Add missing include file for prototype
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I916842c5cb415759ebca8ae36e6dac3006daad0b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1783
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:15:09 +00:00
Jaroslaw Pelczar
0cc862ea3b firewire: Fix invalid cast
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I47faf4d2a54602e3c842c52507ecf7cba5c66cf5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1782
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:15:09 +00:00
Jaroslaw Pelczar
3ac18ca766 s3: Fix 64bit portability cast
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I14486e5f1cc73c856f9db7373a398a567df0607c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1781
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:15:09 +00:00
Jaroslaw Pelczar
ea9bcf517a neomagic: Fix invalid print format
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I1ab9ab87328a6e39c73c5e96095c1cfb424e4bc2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1780
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-08-30 14:15:09 +00:00