freebsd-src/sys/geom
Pawel Jakub Dawidek 56a8aca83a Stop treating size 0 as unknown size in vnode_create_vobject().
Whenever file is created, the vnode_create_vobject() function will
try to determine its size by calling vn_getsize_locked() as size 0
is ambigious: it means either the file size is 0 or the file size
is unknown.

Introduce special value for the size argument: VNODE_NO_SIZE.
Only when it is given, the vnode_create_vobject() will try to obtain
file's size on its own.

Introduce dedicated vnode_disk_create_vobject() for use by
g_vfs_open(), so we don't have to call vn_isdisk() in the common case
(for regular files).

Handle the case of mediasize==0 in g_vfs_open().

Reviewed by: alc, kib, markj, olce
Approved by: oshogbo (mentor), allanjude (mentor)
Differential Revision: https://reviews.freebsd.org/D45244
2024-05-23 06:08:14 +00:00
..
cache sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
concat sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
eli geli: fix indentation 2024-05-19 15:37:07 +02:00
gate sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
journal gjournal(8): Fix a typo in a sysctl description 2024-01-20 20:58:08 +01:00
label glabel: Add support for Linux swap 2024-04-28 22:39:47 -06:00
linux_lvm geom_linux_lvm: Avoid removing from vg_list before inserting 2023-10-17 11:19:05 -04:00
mirror sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
mountver geom: sort includes for some files 2023-11-23 12:07:42 -04:00
multipath sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
nop sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
part sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
raid graid: unbreak Promise RAID1 with 4+ providers 2024-02-12 14:33:43 +07:00
raid3 graid3: Fix teardown in g_raid3_try_destroy() 2024-04-20 12:04:57 -04:00
shsec sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
stripe geom_stripe: Cascade cantrim just like we do for gmirror 2024-05-03 09:03:31 -06:00
union spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
uzip sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
vinum sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
virstor sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
zero sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
geom_bsd_enc.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_ccd.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_ctl.c geom: Report copyout() errors in g_ctl_ioctl_ctl() 2023-12-25 21:04:01 -05:00
geom_ctl.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
geom_dbg.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
geom_dev.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_disk.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
geom_disk.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
geom_dump.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_event.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_flashmap.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_flashmap.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
geom_int.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
geom_io.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_kern.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
geom_slice.c geom: Remove sysctl.h 2024-05-22 16:24:11 -06:00
geom_slice.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
geom_subr.c geom: Remove sysctl.h 2024-05-22 16:24:11 -06:00
geom_vfs.c Stop treating size 0 as unknown size in vnode_create_vobject(). 2024-05-23 06:08:14 +00:00
geom_vfs.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
notes Remove final cross-reference to GBDE 2024-05-07 07:40:20 +00:00