Details : ll{,u}_mdc_pack_op_data() does not properly initialize the
supplementary group and if none is specified this is used.
+Severity : minor
+Bugzilla : 5479 (6816)
+Frequency : rare
+Description: Racing open + rm can assert client in mdc_set_open_replay_data()
+Details : If lookup is in progress on a file that is unlinked we might try
+ to revalidate the inode and fail in revalidate after lookup is
+ complete and ll_file_open() enqueues the open again but
+ it_open_error() was not checking DISP_OPEN_OPEN errors correctly.
+
2005-08-08 Cluster File Systems, Inc. <info@clusterfs.com>
* version 1.4.4
* bug fixes
int it_open_error(int phase, struct lookup_intent *it)
{
if (it_disposition(it, DISP_OPEN_OPEN)) {
- if (phase == DISP_OPEN_OPEN)
+ if (phase >= DISP_OPEN_OPEN)
return it->d.lustre.it_status;
else
return 0;
}
if (it_disposition(it, DISP_OPEN_CREATE)) {
- if (phase == DISP_OPEN_CREATE)
+ if (phase >= DISP_OPEN_CREATE)
return it->d.lustre.it_status;
else
return 0;
}
if (it_disposition(it, DISP_LOOKUP_EXECD)) {
- if (phase == DISP_LOOKUP_EXECD)
+ if (phase >= DISP_LOOKUP_EXECD)
return it->d.lustre.it_status;
else
return 0;
}
if (it_disposition(it, DISP_IT_EXECD)) {
- if (phase == DISP_IT_EXECD)
+ if (phase >= DISP_IT_EXECD)
return it->d.lustre.it_status;
else
return 0;