diff options
author | Volker Lendecke <vlendec@samba.org> | 2006-12-28 21:50:31 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:16:46 -0500 |
commit | 98c082489bec0a0ce4db1daf4390e785381f229a (patch) | |
tree | e0872d7bdb525991311bab54137208381a58c223 /source3/smbd/open.c | |
parent | 143a364d6253125c27e229d533940a6822ce7575 (diff) | |
download | samba-98c082489bec0a0ce4db1daf4390e785381f229a.tar.gz samba-98c082489bec0a0ce4db1daf4390e785381f229a.tar.bz2 samba-98c082489bec0a0ce4db1daf4390e785381f229a.zip |
r20394: This is a *VERY* early start of my work on notify.
Checking in because Jeremy was bugging me. Potentially this becomes quite
intrusive, I'm not sure if I should open a temporary branch for this.
Jeremy, Jerry, do you think 3_0 is the right place for this?
Volker
(This used to be commit bcf5c751cbe203c00814642e26440cf88f300bce)
Diffstat (limited to 'source3/smbd/open.c')
-rw-r--r-- | source3/smbd/open.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 28170e9cd8..040b0543aa 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1127,7 +1127,8 @@ NTSTATUS open_file_ntcreate(connection_struct *conn, uint32 open_access_mask = access_mask; NTSTATUS status; int ret_flock; - const char *parent_dir; + char *parent_dir; + const char *newname; if (conn->printer) { /* @@ -1144,8 +1145,8 @@ NTSTATUS open_file_ntcreate(connection_struct *conn, return print_fsp_open(conn, fname, result); } - if (!(parent_dir = talloc_strdup(tmp_talloc_ctx(), - parent_dirname(fname)))) { + if (!parent_dirname_talloc(tmp_talloc_ctx(), fname, &parent_dir, + &newname)) { return NT_STATUS_NO_MEMORY; } @@ -1878,7 +1879,8 @@ static NTSTATUS mkdir_internal(connection_struct *conn, const char *name, { int ret= -1; mode_t mode; - const char *parent_dir; + char *parent_dir; + const char *dirname; if(!CAN_WRITE(conn)) { DEBUG(5,("mkdir_internal: failing create on read-only share " @@ -1890,8 +1892,8 @@ static NTSTATUS mkdir_internal(connection_struct *conn, const char *name, return map_nt_error_from_unix(errno); } - if (!(parent_dir = talloc_strdup(tmp_talloc_ctx(), - parent_dirname(name)))) { + if (!parent_dirname_talloc(tmp_talloc_ctx(), name, &parent_dir, + &dirname)) { return NT_STATUS_NO_MEMORY; } @@ -1936,6 +1938,8 @@ static NTSTATUS mkdir_internal(connection_struct *conn, const char *name, change_dir_owner_to_parent(conn, parent_dir, name, psbuf); } + notify_action(conn, parent_dir, dirname, NOTIFY_ACTION_ADDED); + return NT_STATUS_OK; } |