freebsd-dev/sys/ufs/ffs
Konstantin Belousov 5e198e7646 ffs_close_ea: do not relock vnode under lock_ea
ffs_lock_ea is after the vnode lock, so vnode must not be relocked under
lock_ea. Move ffs_truncate() call in ffs_close_ea() after the lock_ea is
dropped, and only truncate to length zero, since this is the only mode
supported by ffs_truncate() for EAs. Previously code did truncation and
then write.

Zero the part of the ext area that is unused, if truncation is due but not
done because ea area is not zero-length.

Reviewed by:	mckusick
Tested by:	pho
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
2021-02-24 09:55:04 +02:00
..
ffs_alloc.c ffs_reallocblks: change the guard for softdep_prealloc() call to DOINGSUJ() 2021-02-24 09:54:30 +02:00
ffs_balloc.c ffs: do not call softdep_prealloc() from UFS_BALLOC() 2021-02-24 09:54:50 +02:00
ffs_extern.h ffs softdep: remove will_direnter argument of softdep_prelink() 2021-02-12 03:02:21 +02:00
ffs_inode.c vnode: move write cluster support data to inodes. 2021-02-21 11:38:21 +02:00
ffs_rawread.c vmapbuf: don't smuggle address or length in buf 2020-10-21 16:00:15 +00:00
ffs_snapshot.c UFS snapshots: properly set the vm object size. 2021-02-16 07:11:52 +02:00
ffs_softdep.c ffs softdep: Force processing of VI_OWEINACT vnodes when there is inode shortage 2021-02-12 03:02:22 +02:00
ffs_subr.c Various new check-hash checks have been added to the UFS filesystem 2020-10-25 00:43:48 +00:00
ffs_suspend.c Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
ffs_tables.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ffs_vfsops.c vnode: move write cluster support data to inodes. 2021-02-21 11:38:21 +02:00
ffs_vnops.c ffs_close_ea: do not relock vnode under lock_ea 2021-02-24 09:55:04 +02:00
fs.h Various new check-hash checks have been added to the UFS filesystem 2020-10-25 00:43:48 +00:00
softdep.h ffs softdep: Force processing of VI_OWEINACT vnodes when there is inode shortage 2021-02-12 03:02:22 +02:00