Abhi Das
00a158be83
GFS2: fix bad inode i_goal values during block allocation
...
This patch checks if i_goal is either zero or if doesn't exist
within any rgrp (i.e gfs2_blk2rgrpd() returns NULL). If so, it
assigns the ip->i_no_addr block as the i_goal.
There are two scenarios where a bad i_goal can result in a
-EBADSLT error.
1. Attempting to allocate to an existing inode:
Control reaches gfs2_inplace_reserve() and ip->i_goal is bad.
We need to fix i_goal here.
2. A new inode is created in a directory whose i_goal is hosed:
In this case, the parent dir's i_goal is copied onto the new
inode. Since the new inode is not yet created, the ip->i_no_addr
field is invalid and so, the fix in gfs2_inplace_reserve() as per
1) won't work in this scenario. We need to catch and fix it sooner
in the parent dir itself (gfs2_create_inode()), before it is
copied to the new inode.
Signed-off-by: Abhi Das <adas@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2014-09-19 10:45:18 +01:00
..
2014-06-12 10:30:18 -07:00
2014-08-08 15:57:24 -07:00
2014-06-12 10:30:18 -07:00
2014-07-29 10:14:36 -07:00
2014-08-08 15:57:19 -07:00
2014-08-08 15:57:20 -07:00
2014-08-08 15:57:24 -07:00
2014-09-12 11:53:30 -07:00
2014-06-06 16:08:14 -07:00
2014-08-13 17:43:29 -06:00
2014-08-25 17:01:05 -05:00
2014-08-08 15:57:20 -07:00
2014-06-04 16:53:53 -07:00
2014-08-08 15:57:25 -07:00
2014-07-09 16:58:21 -07:00
2014-06-06 16:08:14 -07:00
2014-08-08 15:57:27 -07:00
2014-05-06 17:38:00 -04:00
2014-06-04 16:54:14 -07:00
2014-08-08 15:57:18 -07:00
2014-08-08 15:57:24 -07:00
2014-06-04 16:54:14 -07:00
2014-07-15 22:40:22 +02:00
2014-08-19 23:16:51 +02:00
2014-09-03 09:37:30 -04:00
2014-09-02 00:22:24 -07:00
2014-06-12 10:30:18 -07:00
2014-04-04 15:39:39 -07:00
2014-08-06 18:01:12 -07:00
2014-08-07 14:40:11 -04:00
2014-09-19 10:45:18 +01:00
2014-05-06 17:38:00 -04:00
2014-06-12 10:30:18 -07:00
2014-08-07 14:40:09 -04:00
2014-08-08 15:57:22 -07:00
2013-07-03 16:07:41 -07:00
2014-06-04 16:54:11 -07:00
2014-08-19 18:29:30 +02:00
2014-05-21 10:26:13 +02:00
2014-08-28 22:22:29 -04:00
2014-08-08 18:13:21 -07:00
2014-06-12 10:30:18 -07:00
2014-07-21 10:07:25 -07:00
2014-09-08 12:03:32 -04:00
2014-08-06 18:01:12 -07:00
2014-08-08 15:57:20 -07:00
2014-06-04 16:54:21 -07:00
2014-09-10 12:43:45 -07:00
2014-07-12 18:43:42 -04:00
2014-09-08 12:02:03 -04:00
2014-08-11 11:44:11 -07:00
2014-01-25 03:14:05 -05:00
2014-09-10 15:42:12 -07:00
2014-08-06 18:01:12 -07:00
2014-08-29 16:28:17 -07:00
2014-08-08 15:57:25 -07:00
2014-03-13 10:14:33 -04:00
2014-08-10 21:24:59 -07:00
2014-08-08 15:57:25 -07:00
2014-03-13 10:14:33 -04:00
2014-08-08 15:57:26 -07:00
2014-07-15 22:40:23 +02:00
2014-08-08 15:57:18 -07:00
2014-08-13 17:45:40 -06:00
2014-08-08 15:57:25 -07:00
2014-08-06 18:01:13 -07:00
2014-06-03 08:11:18 -07:00
2014-05-06 17:38:00 -04:00
2014-07-31 15:52:51 +03:00
2014-09-04 21:37:41 +02:00
2014-09-07 13:26:39 -04:00
2014-09-02 12:12:53 +10:00
2014-09-04 16:54:47 -04:00
2014-03-27 09:52:54 -07:00
2014-06-10 13:57:22 -07:00
2014-08-07 14:40:09 -04:00
2013-11-09 00:16:26 -05:00
2013-11-09 00:16:30 -05:00
2014-06-05 08:05:29 -07:00
2013-10-24 23:34:54 -04:00
2014-06-04 16:54:21 -07:00
2014-04-03 16:21:16 -07:00
2014-06-12 10:30:18 -07:00
2014-07-16 15:10:39 +02:00
2013-11-14 12:08:14 +09:00
2014-03-04 08:05:21 +00:00
2014-07-11 13:53:04 +03:00
2014-04-22 08:23:58 -04:00
2014-07-23 15:10:54 -07:00
2014-09-14 17:37:36 -07:00
2014-01-29 16:22:40 -08:00
2014-08-07 14:40:11 -04:00
2014-06-06 16:08:16 -07:00
2014-01-25 03:13:04 -05:00
2014-09-10 15:42:12 -07:00
2014-08-08 15:57:23 -07:00
2014-08-08 15:57:31 -07:00
2014-06-12 10:30:18 -07:00
2014-05-06 17:31:10 -04:00
2014-04-03 16:21:05 -07:00
2014-08-07 14:40:09 -04:00
2013-11-06 12:40:26 +01:00
2014-07-16 15:10:39 +02:00
2014-08-08 15:57:31 -07:00
2014-08-07 14:40:09 -04:00
2013-10-24 23:34:54 -04:00
2014-02-07 16:08:57 -08:00
2014-06-04 16:53:55 -07:00
2014-08-22 09:58:22 -04:00
2014-08-07 14:40:08 -04:00
2014-06-25 22:08:29 -04:00
2014-08-07 14:40:09 -04:00
2014-06-04 16:54:02 -07:00
2014-09-16 07:44:54 -07:00
2014-08-30 18:32:05 -04:00
2014-08-01 02:36:04 -04:00
2014-05-06 17:39:42 -04:00
2014-08-30 18:31:41 -04:00
2014-04-01 23:19:08 -04:00
2014-05-06 13:58:42 -04:00
2014-07-29 18:08:50 -07:00
2014-05-06 17:37:55 -04:00
2014-06-04 16:53:52 -07:00
2013-11-13 15:34:18 +09:00
2014-07-03 09:21:54 -07:00
2014-06-12 00:28:09 -04:00
2013-11-09 00:16:31 -05:00
2013-10-12 13:12:31 -07:00
2014-08-13 17:45:40 -06:00
2014-09-05 08:16:21 -07:00
2014-07-23 10:18:02 -07:00
2013-11-09 00:16:44 -05:00
2014-07-23 15:10:55 -07:00