From b1a3badd306a91e2d6729dff6196fbbeb103601a Mon Sep 17 00:00:00 2001 From: Pavel Shilovsky Date: Tue, 10 Jul 2012 16:14:38 +0400 Subject: [PATCH] --- yaml --- r: 321199 b: refs/heads/master c: 1a500f010fb2d121c58f77ddfde2eca1bde3bfcd h: refs/heads/master i: 321197: e00c12031b0592ca0d2cc77d5210571101a3c03d 321195: a6c331f8b6029d539354797ac7aa03fab63a2e56 321191: 3bb7a854a5909aaa7d23f67b75df81205ba16829 321183: 5ac2b2f18aa345b2c39ebb85df4d7b2179e8e4cf v: v3 --- [refs] | 2 +- trunk/fs/cifs/smb2inode.c | 9 +++++++++ trunk/fs/cifs/smb2ops.c | 1 + trunk/fs/cifs/smb2proto.h | 2 ++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 3cd4b9a17444..90a9b74968e1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f958ca5d88e6071767b10549d544b3475dfb6996 +refs/heads/master: 1a500f010fb2d121c58f77ddfde2eca1bde3bfcd diff --git a/trunk/fs/cifs/smb2inode.c b/trunk/fs/cifs/smb2inode.c index e129527a707a..2aa5cb08c526 100644 --- a/trunk/fs/cifs/smb2inode.c +++ b/trunk/fs/cifs/smb2inode.c @@ -152,3 +152,12 @@ smb2_mkdir_setinfo(struct inode *inode, const char *name, if (tmprc == 0) cifs_i->cifsAttrs = dosattrs; } + +int +smb2_rmdir(const unsigned int xid, struct cifs_tcon *tcon, const char *name, + struct cifs_sb_info *cifs_sb) +{ + return smb2_open_op_close(xid, tcon, cifs_sb, name, DELETE, FILE_OPEN, + 0, CREATE_NOT_FILE | CREATE_DELETE_ON_CLOSE, + NULL, SMB2_OP_DELETE); +} diff --git a/trunk/fs/cifs/smb2ops.c b/trunk/fs/cifs/smb2ops.c index cc74871d2598..826209bf3684 100644 --- a/trunk/fs/cifs/smb2ops.c +++ b/trunk/fs/cifs/smb2ops.c @@ -320,6 +320,7 @@ struct smb_version_operations smb21_operations = { .build_path_to_root = smb2_build_path_to_root, .mkdir = smb2_mkdir, .mkdir_setinfo = smb2_mkdir_setinfo, + .rmdir = smb2_rmdir, }; struct smb_version_values smb21_values = { diff --git a/trunk/fs/cifs/smb2proto.h b/trunk/fs/cifs/smb2proto.h index f9925082737c..bfaa7b148afd 100644 --- a/trunk/fs/cifs/smb2proto.h +++ b/trunk/fs/cifs/smb2proto.h @@ -57,6 +57,8 @@ extern int smb2_mkdir(const unsigned int xid, struct cifs_tcon *tcon, extern void smb2_mkdir_setinfo(struct inode *inode, const char *full_path, struct cifs_sb_info *cifs_sb, struct cifs_tcon *tcon, const unsigned int xid); +extern int smb2_rmdir(const unsigned int xid, struct cifs_tcon *tcon, + const char *name, struct cifs_sb_info *cifs_sb); /* * SMB2 Worker functions - most of protocol specific implementation details