Age | Commit message (Collapse) | Author |
|
This is a new feature in Cargo 1.56.0, currently in beta. Once Nix's
MSRV is >= 1.56.0, this feature will prevent future problems like the
bitflags 1.3.0 fiasco.
Issue #1491
Issue #1510
Issue #1548
Issue #1555
|
|
|
|
|
|
|
|
Bitflags raised its MSRV in a minor version, forcing all consumers to
follow suit.
Fixes #1491
|
|
|
|
There was never any good reason to use mutable receives in the first
place. Nix originally did so because libc defined FD_ISSET as taking a
mutable receiver, which it did based on an inaccurate Linux man page.
But that's fixed now.
https://github.com/rust-lang/libc/pull/1725
|
|
The exclude list had gotten out-of-date.
|
|
|
|
A new libc release with the MNT_ fixes was released.
|
|
|
|
|
|
1437: Add MS_LAZYTIME flag r=asomers a=ManaSugi
MS_LAZYTIME (since Linux 4.0) reduces on-disk updates of inode
timestamps (atime, mtime, ctime) by maintaining these changes only in memory.
MS_LAZYTIME is available from `libc` v0.2.95.
Signed-off-by: Manabu Sugimoto <Manabu.Sugimoto@sony.com>
Co-authored-by: Manabu Sugimoto <Manabu.Sugimoto@sony.com>
|
|
MS_LAZYTIME (since Linux 4.0) reduces on-disk updates of inode
timestamps (atime, mtime, ctime) by maintaining these changes only in memory.
Signed-off-by: Manabu Sugimoto <Manabu.Sugimoto@sony.com>
|
|
* libc::aiocb must not be moved while the kernel has a pointer to it.
This change enforces that requirement by using std::pin.
* Split LioCbBuilder out of LioCb. struct LioCb relied on the
(incorrect) assumption that a Vec's elements have a stable location in
memory. That's not true; they can be moved during Vec::push. The
solution is to use a Vec in the new Builder struct, but finalize it to
a boxed slice (which doesn't support push) before allowing it to be
submitted to the kernel.
* Eliminate owned buffer types. mio-aio no longer uses owned buffers
with nix::aio. There's little need for it in the world of
async/await. I'm not aware of any other consumers. This
substantially simplifies the code.
|
|
|
|
1402: Support TIMESTAMPNS r=asomers a=WiSaGaN
This adds support of linux TIMESTAMPNS.
The code is mostly copied paste from https://github.com/nix-rust/nix/pull/663
Co-authored-by: Lu, Wangshan <wisagan@gmail.com>
|
|
|
|
The homegrown macro was fine in 2016, but at some point it technically
became UB. The memoffset crate does the same thing, but avoids UB when
using rustc 1.51.0 or later.
Fixes #1415
|
|
Co-authored-by: Dominik Hassler <hadfl@omnios.org>
Co-authored-by: Joshua M. Clulow <josh@sysmgr.org>
|
|
This eliminates some duplicate dependencies
|
|
This eliminates the need to build multiple versions of cfg-if
|
|
|
|
|
|
Since rust-lang/libc is now using the correct data type on s390x (c_uint) for
statfs constants, the s390x exemptions in the statfs MAGIC definitions like
EXT4_SUPER_MAGIC can be removed.
Signed-off-by: Jakob Naucke <jakob.naucke@ibm.com>
|
|
Allow nix to compile on Fuchsia by conditionally avoiding libc
functionality that does not exist for Fuchsia.
|
|
|
|
ref: https://blog.rust-lang.org/2020/03/15/docs-rs-opt-into-fewer-targets.html
|
|
|
|
|
|
Fix deprecation warning from libc update.
|
|
|
|
|
|
|
|
OFD lock functions don't work as expected on overlayfs, which is a type
of union file system. And OVERLAYFS_SUPER_MAGIC isn't defined on musl,
at least not yet.
|
|
This test cannot be compiled under Redox. PR #1098 attempted to disable
it for Redox, but actually disabled it everywhere. AFAICT, Cargo has no
syntax to conditionally enable a target, except based on features.
Instead, use conditional compilation within the test.
|
|
|
|
|
|
std::convert::Infallible has been available since Rust 1.34 and nix
currently targets Rust 1.36 or later so this should not cause
problems.
Fixes #1238
|
|
|
|
|
|
Closes #1194
Use git libc for development
(Remember to reset this to released version for the next nix release, once libc has released >=0.2.69)
|
|
|
|
|
|
|
|
This prevents warnings about "try! is deprecated" when using the latest
compiler and -Zminimal_versions.
|
|
|
|
|
|
|
|
|