smbclient_tar flapping
Jeremy Allison
jra at samba.org
Wed Jun 22 00:14:37 UTC 2016
On Tue, Jun 21, 2016 at 06:09:58PM +0200, Aurélien Aptel wrote:
> On Mon, 20 Jun 2016 16:47:31 -0700 Jeremy Allison <jra at samba.org> wrote:
> > Needs to be repeatable before I'll believe it I'm afraid.
> > More likely to be corruption in the testing EA store - remember
> > the 'D' bit is stored there in the dos attributes EA.
>
> I also think it might me a tdb problem as selftest uses "store dos attributes = yes"
> and the tdb xattr VFS. I can also see this in logs when smbd looks for DOS attrs:
>
> [10 2016/06/17 14:32:21.501261 ../source3/lib/xattr_tdb.c:183 xattr_tdb_getattr]
> xattr_tdb_getattr called for file 801:10051158:0, name system.fake_uid
> [10 2016/06/17 14:32:21.501276 ../source3/lib/xattr_tdb.c:189 xattr_tdb_getattr]
> xattr_tdb_fetch_attrs failed: NT_STATUS_INTERNAL_DB_CORRUPTION
Unfortunately that doesn't always mean NT_STATUS_INTERNAL_DB_CORRUPTION - it
can just mean not found. From xattr_tdb_load_attrs():
static NTSTATUS xattr_tdb_load_attrs(TALLOC_CTX *mem_ctx,
struct db_context *db_ctx,
const struct file_id *id,
struct tdb_xattrs **presult)
{
uint8_t id_buf[16];
NTSTATUS status;
TDB_DATA data;
/* For backwards compatibility only store the dev/inode. */
push_file_id_16((char *)id_buf, id);
status = dbwrap_fetch(db_ctx, mem_ctx,
make_tdb_data(id_buf, sizeof(id_buf)),
&data);
if (!NT_STATUS_IS_OK(status)) {
return NT_STATUS_INTERNAL_DB_CORRUPTION;
}
..
More information about the samba-technical
mailing list