GFS2: fsck.gfs2 finds unlinked inodes on full file systems
----- Original Message -----
| Hi,
|
| This doesn't compile....
|
| CC [M] fs/gfs2/inode.o
| fs/gfs2/inode.c: In function ‘gfs2_create_inode’:
| fs/gfs2/inode.c:741:2: error: implicit declaration of function
| ‘gfs2_dinode_dealloc’
| make[2]: *** [fs/gfs2/inode.o] Error 1
| make[1]: *** [fs/gfs2] Error 2
| make: *** [fs] Error 2
|
|
| Steve.
|
| On Wed, 2012-01-04 at 09:06 -0500, Bob Peterson wrote:
| > Hi,
| >
| > This patch fixes a problem whereby GFS2 does not properly clean
| > up partially created files when the file system becomes too full.
| >
| > Regards,
| >
| > Bob Peterson
| > Red Hat File Systems
My apologies. I didn't catch the fact that the function had moved
to super.c and become static. Here's a replacement that compiles.
Unless you want me to move the function back to inode.c since it's
not static anymore?
Regards,
Bob Peterson
Red Hat File Systems
--
commit 99259e30d3cc49cee5c55be9ca5ab76e772ad22f
Author: Bob Peterson <rpeterso@redhat.com>
Date: Wed Jan 4 08:57:11 2012 -0600
GFS2: fsck.gfs2 finds unlinked inodes on full file systems
In some cases, when a GFS2 file system was nearly full, GFS2
was able to allocate a block for a new file's dinode but not
a second block for linking that new dinode to a directory.
In these cases, GFS2 was not properly deallocating the partially-
created file. Thus, subsequent runs of fsck.gfs2 found unlinked
files. This patch adds a an extra cleanup path to the dinode
create function to properly deallocate the partially-created file.