Fix erroneous ETXTBSY problems with GFS2
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest1 of 4 patches 0 repliesNew
1 of 4 patches is in this archive. The cover letter announces 4.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 2/4 | GFS2: Reduce inode size by using 32-bit i_generation | +0 | 2 replies |
Reviews trailers per patch
The patch has no Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Andrew Price |
|---|---|
| Series | R-b |
| 2/4 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [Cluster-devel] [PATCH 0/4] Fix erroneous ETXTBSY problems with GFS2
Quoted 22 lines · Bob Peterson
Commit 2b3dcf3 (GFS2: Increase
i_writecountduringgfs2_setattr_size) added a bunch of calls toget_write_access()in order to ensure file close could not delete an inode's multi-block reservation while the function was running. For example, close was interfering withsetattr_size. The patch worked as expected, but there was an unintended consequence:
If a GFS2 file is open, you can't do these functions (like chown) or you'll get ETXTBSY (Text file busy). For example, if you're running a program and try to do chown or chattr while it's running, it will fail.This problem is easily fixed by reverting that patch and including the multi-block reservation structure inside the gfs2 inode. The problem is, the gfs2 inode then grows to a much bigger size.
This patch set takes some measures to reduce the size of the gfs2 inode and then making the reservations part of the inode.
Before the patch set, GFS2 inodes were 880 bytes in length. Adding just the reservations structure bumped it up to 1304, which is not good. With all these patches in place, the size is 1008, which is comparable to ext4 (1048) and xfs (1088). Further savings are possible (and I've prototyped a few) but I don't want to get too extreme here.
Quoted 7 lines
Signed-off-by Bob Peterson <[email protected]>---
Bob Peterson (4):
GFS2: Reduce size of incore inode
GFS2: Reduce inode size by using 32-biti_generation
GFS2: Extract quota data from reservations structure (revert 5407e24)
GFS2: Make rgrp reservations part of thegfs2_inodestructure
Other than my comments on patch 2:
for the series.
Cheers,
Andy