Commit Graph

1779 Commits

Author SHA1 Message Date
hannken
1f6768b2fd Add field "mnt_lower" to "struct mount" to track the file system
a layered file system is mounted on.

Welcome to 7.99.65
2017-03-06 10:10:07 +00:00
hannken
8c855e05d7 Handle v_writecount from union_open(), union_close() and union_revoke()
so lower file system vnodes get marked as open for writing.
2017-03-06 10:08:49 +00:00
hannken
90ead62d2f Change the protocol to update a mounted file system from read-write
to read-only and vice versa:

- Add an internal flag IMNT_WANTRDONLY.
- Set either IMNT_WANTRDWR or IMNT_WANTRDONLY if going from or to read-only.
- After successfull call to VFS_MOUNT() set or clear MNT_RDONLY.

Adapt tmpfs and rumpfs to the new protocol.  Other file systems will be
updated when they get the IMNT_CAN_RWTORO property.

Welcome to 7.99.64
2017-03-01 10:44:47 +00:00
hannken
61b2de1d70 Remove now redundant calls to fstrans_start()/fstrans_done(). 2017-03-01 10:41:28 +00:00
hannken
a378d58ecb Enable fstrans on all file systems.
Welcome to 7.99.61
2017-02-22 09:50:13 +00:00
hannken
326db3aaf6 Add generic genfs_suspendctl() and use it for all file systems.
Layered file systems need work.
2017-02-17 08:31:23 +00:00
hannken
64a4d4bd11 Untangle VFS_SYNC() from VFS_SUSPENDCTL(). 2017-02-17 08:29:11 +00:00
hannken
4b595f6ef6 Take vnode lock for VOP_FSYNC(). 2017-02-17 08:27:20 +00:00
hannken
ac23b49f6d Run vflush() when going from read/write to read only. 2017-01-27 10:47:54 +00:00
maya
be48413a3c Be explicit about how we're placing part of the on-disk name into
the extension, so it doesn't appear like we are overrunning an array.
Appeases coverity, NFC.

ok riastradh
2017-01-14 17:17:53 +00:00
joerg
a88ba739cb Remove RO check in tmpfs_putpages for now, the syncer doesn't like the
error code.
2017-01-11 12:12:32 +00:00
christos
4faed551bb PR/51777: David Binderman: Remove unused computation 2017-01-04 15:53:14 +00:00
hannken
bd6e0af46f Change tmpfs_chsize() to update mtime etc. even if "length == node->tn_size".
Adresses PR kern/51762 "mtime not updated by open(O_TRUNC)"
2017-01-04 10:06:43 +00:00
skrll
244ca08653 Hold the interlock when calling cv_broadcast as per condvar(9) 2016-12-26 08:21:09 +00:00
hannken
70ec436e39 Move vnode members "v_freelisthd" and "v_freelist" from "struct vnode"
to "struct vnode_impl" and rename to "vi_lrulisthd" and "vi_lrulist".

No functional change intended.

Welcome to 7.99.48
2016-12-14 15:48:54 +00:00
pgoyette
47cc427df8 More changes for creds, mutex, etc. 2016-12-13 22:54:24 +00:00
pgoyette
0342d5080b Mostly mechanical updates for caddr_t, thread, mutex, and credentials 2016-12-13 22:52:46 +00:00
pgoyette
752640fd36 Disable duplicate typedef 2016-12-13 22:49:02 +00:00
pgoyette
88b1d6a671 More cleanup of #includes 2016-12-13 22:31:51 +00:00
pgoyette
3be2222bbe Adapt code for our location of the nfs headers, and some updates for
differences in kernel options(4) handling
2016-12-13 22:17:33 +00:00
pgoyette
d687e96a02 Update for location of newnfs headers, clean up some other #include 2016-12-13 21:58:17 +00:00
pgoyette
c10f8b5081 Update locations for new nfs header files.
XXX Some #includes are just disabled (via #if 0) and will need to be
XXX resolved before further progress can be made.
2016-12-13 21:50:32 +00:00
pgoyette
c81f4ce3f4 One more option for the opt_ file. 2016-12-13 21:44:01 +00:00
pgoyette
01ce88d0f3 More clean-up of #includes 2016-11-18 22:58:08 +00:00
pgoyette
f8afa79068 Add the initial module(9) infrastructure 2016-11-18 22:41:18 +00:00
pgoyette
c68a82788b Clean up some #includes 2016-11-18 22:37:50 +00:00
pgoyette
34f2d232eb Clean up after the import auto-generate.
At least now it doesn't cause config(1) any problems.
2016-11-18 09:58:38 +00:00
pgoyette
2d39560c47 Resolve conflicts 2016-11-18 08:31:29 +00:00
pgoyette
e81f0ea2ca Update to FreeBSD revision 308975 ( approx 2016-11-18 07:30 UTC)
If I'm going to try to get this working, I should at least start with
the most recent code available.
2016-11-18 07:49:10 +00:00
christos
aeed4fbb7e add missing attribute 2016-09-22 15:57:05 +00:00
dholland
b5981bcf46 In the event that loading the root vnode fails, bail out of
tmpfs_mount instead of crashing.

Came up in PR 51436, where kmem issues caused internal allocations to
wrongly fail. However, that could happen for real sometime (e.g.
probably if you tried to mount a new tmpfs when the system was very
low on memory, or possibly for other reasons entirely) and crashing
isn't the ticket.

(This is not a fix for PR 51436)
2016-08-26 21:44:24 +00:00
skrll
a321adb539 Two fixes from rmind
- tmpfs_node_get: restore (decrement) the node count on the error path.
- tmpfs_bytes_max: save the value of uvmexp.freetarg (since it is
  unlocked/racy).
2016-08-22 23:07:36 +00:00
hannken
7139aab724 Remove now obsolete operation vcache_remove().
Welcome to 7.99.36
2016-08-20 12:37:06 +00:00
christos
0d5ace558d replace variable stack declaration with a large enough one and KASSERT. 2016-07-21 18:21:27 +00:00
msaitoh
8bc54e5be6 KNF. Remove extra spaces. No functional change. 2016-07-07 06:55:38 +00:00
nonaka
eafa673da3 Fix false positives when comparing long file names that have the
same first 13 (or some multiple thereof) characters.
2016-06-30 09:34:01 +00:00
ozaki-r
d938d837b3 Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf.
They are counterpart of m_get_rcvif, which will come in another
commit, hide internal of rcvif operation, and reduce the diff of
the upcoming change.

No functional change.
2016-06-10 13:27:10 +00:00
reinoud
42866dd28d Cleanup VAT writout. To prevent issues with the sequential writing strategy
trying to write on blocks that are lost due to the synchronisation, don't just
bluntly do synchronize device caches, but split out on strategies.
2016-05-24 09:55:57 +00:00
reinoud
46e9cd4dbd Rework VAT searching on recordable media. It is now a lot more resilliant to
errors and it allows for VAT searching on crashed writeouts.

While here, make sure the node pointer is always initialised in
udf_get_node().
2016-05-10 15:23:39 +00:00
mlelstv
09123a68b9 fix DEBUG build 2016-05-07 16:43:02 +00:00
mlelstv
e01ac00248 Validate FAT entries to avoid some panics caused by a corrupted FAT.
Also print FAT write errors when mount is synchronous (-o sync). This
reveals problems caused by a write protected disklabel on sector 1.
2016-05-03 18:17:28 +00:00
martin
9dbda5ea54 Backout previous - need coffee first 2016-03-12 12:21:37 +00:00
martin
1ad22223be Mark a variable as __diagused. 2016-03-12 11:45:59 +00:00
kardel
641d22c5f7 do no access uninitialized variables in KASSERTs - fixes build 2016-03-12 10:51:00 +00:00
joerg
b2f469507c Implement most of mount -ur functionality for tmpfs. Remaining issue is
the question who is responsible for syncing pending writes, but the
functionality is good enough for serving as read-only chroot base in
bulk builds.
2016-03-12 08:51:13 +00:00
joerg
d547094d79 Only recheck size/node limits on update mounts, if there actually have
been specified.
2016-03-12 08:45:23 +00:00
christos
f28bf2dc9d PR/50951: Unmess this up. 2016-03-12 02:36:25 +00:00
christos
850b4cce27 PR/50951: David Binderman: Fix misplaced parens 2016-03-11 18:35:50 +00:00
christos
2a67b893e9 remove installboot.h; it is not needed 2016-03-09 20:18:17 +00:00
christos
635b4dc047 Make it usable from userland. 2016-03-09 15:45:37 +00:00