History log of /haiku/src/add-ons/kernel/file_systems/ramfs/DataContainer.cpp (Results 1 – 20 of 20)
Revision Date Author Comments
# f940c524 02-Oct-2024 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Add missing lock of VMCache in DataContainer.


# 950900a9 14-Aug-2024 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Add static_assert regarding VMCache class size.


# c0a12a6b 14-Aug-2024 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Properly acquire/release references to the vnode in VMCache.

This is what AcquireStoreRef/ReleaseStoreRef are for. We don't use
VMVnodeCache here because that is a non-"temporary" cache that

ramfs: Properly acquire/release references to the vnode in VMCache.

This is what AcquireStoreRef/ReleaseStoreRef are for. We don't use
VMVnodeCache here because that is a non-"temporary" cache that
writes its pages back to disk, while we need a store for the pages
that won't discard unmodified ones when memory is low.

Add a close() to the mmap_cut_tests, which triggers the case where
this is important (a file is unlinked, mmap'ed, and then the lone
FD referring to it is closed, triggering the file's deletion unless
the mmap also acquired a reference to the vnode.)

Fixes KDLs with Firefox test builds.

show more ...


# a8877df1 14-Aug-2024 Augustin Cavalier <waddlesplash@gmail.com>

kernel/vm: Add "unmergeable" flag to VMCache.

ramfs needs to create caches that are both temporary and unmergeable,
so add another flag to make this state possible.

Otherwise, mmap'ed files from ra

kernel/vm: Add "unmergeable" flag to VMCache.

ramfs needs to create caches that are both temporary and unmergeable,
so add another flag to make this state possible.

Otherwise, mmap'ed files from ramfs might wind up in VMCache
trying to merge the caches when the last one is closed, which
we don't want.

show more ...


# 43feec01 06-Aug-2024 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Use VM_PRIORITY_USER not VM_PRIORITY_SYSTEM.

This way, allocation failures on ramfs have a chance of
not bringing down the whole system with them.


# 6cfbbcee 03-Aug-2024 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Style fixes to DataContainer.

No functional change.


# 3d393797 03-Aug-2024 Augustin Cavalier <waddlesplash@gmail.com>

ram_disk & ramfs: Use BStackOrHeapArray for the vm_page* arrays.


# ddfd8f81 03-Aug-2024 Augustin Cavalier <waddlesplash@gmail.com>

ram_disk & ramfs: Unify the _GetPages/_PutPages code.

Solves a TODO. No functional change intended.


# 425ac1b6 20-Jun-2023 Alexander von Gluck IV <kallisti5@unixzen.com>

refactor: Swap %Ld for %lld in all format usages

* %Ld is an undocumented alias for %lld in glibc.
* muslc doesn't implement it for this reason.
* While we will likely never drop %Ld support,
lets

refactor: Swap %Ld for %lld in all format usages

* %Ld is an undocumented alias for %lld in glibc.
* muslc doesn't implement it for this reason.
* While we will likely never drop %Ld support,
lets clean house and set a better example.

Change-Id: Id46dad3104abae483e80cc5c05d1464d3ecd8030
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6636
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>

show more ...


# 05b654c6 01-Dec-2022 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Fix SMAP violations in DataContainer.


# 396e3dfb 01-Dec-2022 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Switch from an embedded to a separately allocated small buffer.

This saves 16 bytes in the class vs. the old size, but more importantly
allows us to avoid allocating VMCaches and wasting an e

ramfs: Switch from an embedded to a separately allocated small buffer.

This saves 16 bytes in the class vs. the old size, but more importantly
allows us to avoid allocating VMCaches and wasting an entire page for
any attribute larger than 32 bytes; instead, attributes can be up to
1024 bytes before we allocate a full page for them.

Unfortunately small files cannot take advantage of this optimization
right now as the cache is always used for them. I added a TODO about
this.

show more ...


# 97f11716 04-Sep-2022 Niels Sascha Reedijk <niels.reedijk@gmail.com>

Merge remote-tracking branch 'origin/master' into dev/netservices

Change-Id: I588c4a840523995f820161d63741c137bc5c719c


# c8641d3a 08-Jul-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

ramfs: enable -Werror

Change-Id: I02600442bb2cb28182e6fd2da4eb849621c1b877
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5439
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Re

ramfs: enable -Werror

Change-Id: I02600442bb2cb28182e6fd2da4eb849621c1b877
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5439
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

show more ...


# 13249ba0 02-Sep-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Fix dereference before NULL check in _DoCacheIO.

Should fix a KDL extrowerk ran into.


# 58a582ff 01-Sep-2019 Augustin Cavalier <waddlesplash@gmail.com>

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 gi

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.)

show more ...


# cbc07268 31-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

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() su

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...

show more ...


# 29143642 31-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Fix debugging print macro invocations and use B_PRI*.


# b9795faf 30-Aug-2019 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Add MIT license header to all files lacking copyright info.

OK'ed by Ingo via email.


# a41d815c 22-Aug-2018 Augustin Cavalier <waddlesplash@gmail.com>

ramfs: Lots of fixes to the build.

* Store pointers in an addr_t instead of int32, for 64-bit's sake
* Use DebugSupport.h instead of userlandfs Debug.h and remove extra parentheses
* Create a hea

ramfs: Lots of fixes to the build.

* Store pointers in an addr_t instead of int32, for 64-bit's sake
* Use DebugSupport.h instead of userlandfs Debug.h and remove extra parentheses
* Create a header-only String class based on the userlandfs String and use it
* RecursiveLock instead of Locker.
* Jamfile cleanups and other misc. changes.

It isn't yet adapted to the new VFS API, so the build is still somewhat
broken.

show more ...


# 224e7c42 07-Mar-2007 Ingo Weinhold <ingo_weinhold@gmx.de>

Mmh, apparently I have to check the copied directory itself in first.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20345 a95241bf-73f2-0310-859d-f6bbb57e9c96