p9: Use std::os::unix rather than std::os::linux.

This will call out to the appropriate platform, so that it works on
Android as well.

BUG=b:158290206
TEST=cargo test

Change-Id: I081a5515340f450a4b8605d5ec9c275e7fa4970b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2294866
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Stephen Barber <smbarber@chromium.org>
Commit-Queue: Andrew Walbran <qwandor@google.com>
This commit is contained in:
Andrew Walbran 2020-07-13 16:27:43 +01:00 committed by Commit Bot
parent 945b980e1a
commit fb0e6d9d6a

View file

@ -8,7 +8,7 @@ use std::ffi::CString;
use std::fs; use std::fs;
use std::io::{self, Cursor, Read, Write}; use std::io::{self, Cursor, Read, Write};
use std::mem; use std::mem;
use std::os::linux::fs::MetadataExt; use std::os::unix::fs::MetadataExt;
use std::os::unix::fs::{DirBuilderExt, FileExt, OpenOptionsExt}; use std::os::unix::fs::{DirBuilderExt, FileExt, OpenOptionsExt};
use std::os::unix::io::AsRawFd; use std::os::unix::io::AsRawFd;
use std::path::{Component, Path, PathBuf}; use std::path::{Component, Path, PathBuf};
@ -121,8 +121,8 @@ fn metadata_to_qid(metadata: &fs::Metadata) -> Qid {
Qid { Qid {
ty, ty,
// TODO: deal with the 2038 problem before 2038 // TODO: deal with the 2038 problem before 2038
version: metadata.st_mtime() as u32, version: metadata.mtime() as u32,
path: metadata.st_ino(), path: metadata.ino(),
} }
} }
@ -609,20 +609,20 @@ impl Server {
Ok(Rmessage::GetAttr(Rgetattr { Ok(Rmessage::GetAttr(Rgetattr {
valid: P9_GETATTR_BASIC, valid: P9_GETATTR_BASIC,
qid: metadata_to_qid(&fid.metadata), qid: metadata_to_qid(&fid.metadata),
mode: fid.metadata.st_mode(), mode: fid.metadata.mode(),
uid: fid.metadata.st_uid(), uid: fid.metadata.uid(),
gid: fid.metadata.st_gid(), gid: fid.metadata.gid(),
nlink: fid.metadata.st_nlink(), nlink: fid.metadata.nlink(),
rdev: fid.metadata.st_rdev(), rdev: fid.metadata.rdev(),
size: fid.metadata.st_size(), size: fid.metadata.size(),
blksize: fid.metadata.st_blksize(), blksize: fid.metadata.blksize(),
blocks: fid.metadata.st_blocks(), blocks: fid.metadata.blocks(),
atime_sec: fid.metadata.st_atime() as u64, atime_sec: fid.metadata.atime() as u64,
atime_nsec: fid.metadata.st_atime_nsec() as u64, atime_nsec: fid.metadata.atime_nsec() as u64,
mtime_sec: fid.metadata.st_mtime() as u64, mtime_sec: fid.metadata.mtime() as u64,
mtime_nsec: fid.metadata.st_mtime_nsec() as u64, mtime_nsec: fid.metadata.mtime_nsec() as u64,
ctime_sec: fid.metadata.st_ctime() as u64, ctime_sec: fid.metadata.ctime() as u64,
ctime_nsec: fid.metadata.st_ctime_nsec() as u64, ctime_nsec: fid.metadata.ctime_nsec() as u64,
btime_sec: 0, btime_sec: 0,
btime_nsec: 0, btime_nsec: 0,
gen: 0, gen: 0,